Szukałem, jak działa filters w Angularjs i zobaczyłem, że musimy wysłać 2 zestawy nawiasów.Dwa zestawy nawiasów po wywołaniu funkcji
$filter('number')(number[, fractionSize])
Co to oznacza i jak sobie z tym radzić za pomocą JavaScript?
Szukałem, jak działa filters w Angularjs i zobaczyłem, że musimy wysłać 2 zestawy nawiasów.Dwa zestawy nawiasów po wywołaniu funkcji
$filter('number')(number[, fractionSize])
Co to oznacza i jak sobie z tym radzić za pomocą JavaScript?
Oznacza to, że pierwsza funkcja ($filter
) zwraca inną funkcję, a następnie ta zwrócona funkcja jest wywoływana natychmiast. Na przykład
function add(x){
return function(y){
return x + y;
};
}
var addTwo = add(2);
addTwo(4) === 6; // true
add(3)(4) === 7; // true
Dzięki, teraz rozumiem. – L105
Nie ma za co! @ L105. – Paulpro
Niesamowita odpowiedź! Jest to tak oczywiste, kiedy już to zrozumiecie, ale nie od razu będzie ono oczywiste pod względem składni. – HartleySan
To samo jak to:
var func = $filter('number');
func(number[, fractionSize]);
Funkcja $filter()
zwraca wskaźnik do innej funkcji.
jest zastrzeżonym słowem kluczowym. – eyelidlessness
@ideelidlessness: dzięki za złapanie tego. –
$filter('number')
zwraca funkcję, która akceptuje dwa argumenty, przy czym pierwszy jest wymagany (liczba), a drugi jest opcjonalny (rozmiar ułamka).
Jest możliwe, aby natychmiast wezwać wracającą funkcję:
$filter('number')('123')
Alternatywnie, można zachować funkcję zwrócony do wykorzystania w przyszłości:
var numberFilter = $filter('number');
numberFilter('123')
Dzięki temu, kto zdecydował się na tę odpowiedź, powód, dla którego tak się dzieje, umyka mi. –
w tym przypadku, gdzie umieścić .catch, aby uzyskać błędy? – stackdave
@stackdave co próbujesz rozwiązać? –
Osobiście uważam to składnia mylące/niewygodne jak dobrze czytać . Ale możesz użyć prostszej składni, aby uzyskać dostęp do filtrów AngularJS, jak opisano tutaj: http://stackoverflow.com/a/14303362/1418796 –
Wziąłem angularjs jako przykład. Chciałem wiedzieć, jak sobie z tym poradzić, jeśli sam utworzę funkcję. – L105