Angularjs ngInit mit filter override-Werte
Ich versuche init einer gefilterten Wert, ohne Erfolg. Ich verwende teilweise/ng-so gehören, den Variablennamen nicht ändern können.
Ich mit angularjs v1.0.2 und ich habe versucht auch mit der v1.1.1
<script>
function Ctrl($scope) {
$scope.trains = [ 1, 2];
}
</script>
<div ng-app ng-controller="Ctrl">
<div ng-init="t = (trains | filter:1)">
{{ t }}
{{ trains | filter:1 }}
</div>
<div ng-init="t = (trains | filter:2)">
{{ t }}
{{ trains | filter:2 }}
</div>
</div>
Den Ausgang
[2] [1]
[2] [2]
Hier ist das Beispiel -> http://jsfiddle.net/9q5D4/4/
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht sicher, ob dies ist, was Sie wollen...
Aber Sie können mithilfe der Richtlinie zu kombinieren, um zwischen ng-init-und ng-include:
HTML:
JS:
und die Ausgabe ist:
1 2
2 17
http://jsfiddle.net/9q5D4/5/
Vorsichtig sein mit der
ng-init
Ausdruck (vor allem, wenn Sie die Initialisierung neuer Variablen). In Ihrem Beispiel, Sie laufen 2 getrennte Ausdrücke:t = trains
undfilter:<X>
.Sollten Sie verwenden
t = (trains | filter:<X>)
:jsFiddle: http://jsfiddle.net/9q5D4/2/
Versuchen Sie zu Durchlaufen $Umfang.Züge? In diesem Fall sollten Sie die Verwendung von ng-repeat. Ich glaube nicht, Filter sind anwendbar für ng-init.
http://jsfiddle.net/gtmuh/
Habe ich noch nicht ausgecheckt genau, warum oder wie,
scheint aber wie das stellen eines ng-wenn-Attribut
vor der ng-init macht es Arbeit.
getestet auf angular 1.2+;