Dwukierunkowe wiązanie w AngularJs jest świetneaktualizowanie widoku przy każdej zmianie modelu. Zastanawiałem się, czy istnieje jakiś sposób przekazania modelu do funkcji zdefiniowanej w kontrolerze przed wyświetleniem. I nie za pomocą kliknięcia przycisku, ale na żywo.
Na przykład p
element zostanie zaktualizowany automatycznie
<input data-ng-model="myModel">
<p>{{myModel}}</p>
Czy jest jakiś sposób na wykonanie następujących czynności?
<div data-ng-controller="myController">
<input data-ng-model="myModel">
<p>{{increment(myModel)}}</p>
</div>
gdzie przyrost jest funkcją zdefiniowaną w myController
Odpowiedzi:
2 dla odpowiedzi № 1Zdecydowanie możesz. Wystarczy zdefiniować funkcję w tym samym kontrolerze. Na przykład
Kontroler:
app.controller("myCtrl", function($scope) {
$scope.increment = function() {
return $scope.myModel;
}
});
HTML
<div data-ng-controller="myController">
<input data-ng-model="myModel">
<p>{{increment()}}</p>
</div>
To zwraca dokładnie to samo, co {{myModel}}