Ich übergebe date
meinen Wert auf folgende Weise an meinen benutzerdefinierten Filter:
angular.module('myapp').
filter('filterReceiptsForDate', function () {
return function (input, date) {
var out = _.filter(input, function (item) {
return moment(item.value.created).format('YYYY-MM-DD') == date;
});
return out;
}
});
Ich möchte dort auch ein paar Bereichsvariablen einfügen, wie ich es in Direktiven tun kann. Ist dies möglich, ohne diese Variablen explizit als Funktionsargumente übergeben zu müssen?
javascript
angularjs
scope
Sergei Basharov
quelle
quelle
ng-bind-html-unsafe
wenn Sie HTML übergeben. Außerdem habe ich$scope
stattdessen verwendet,scope
damit es innerhalb der Filterfunktion dieselbe ist, wie ich es überall sonst gewohnt bin :)Controller
. Auf diese Weise hat es keine "starke" Abhängigkeit und ist einfacher zu testen. Verwenden Sie einfach$filter('filter')(array, expression, comparator, anyPropertyKey)
in derController
Ich fand, dass
this
Referenzen lokal$scope
. Ich bin mir nicht sicher, ob dies ein sicherer Zugriff ist.quelle