1. Uso simples de $ relógio
$watch é uma função scope que ouve alterações no modelo, que o notificará quando partes do seu modelo mudarem.
$ watch (WatchExpression, ouvinte, ObjectEquality);
A descrição de cada parâmetro é a seguinte:
WatchExpression: o objeto a ouvir, pode ser uma expressão angular, como 'nome' ou uma função como function(){return $scope.name} .
Ouvinte: a função ou expressão que será chamada quando watchExpression mudar, recebe 3 parâmetros: newValue (novo valor), oldValue (valor antigo), scope (referência ao escopo)
ObjectEquality: se deve ouvir profundamente, se definido como true, ele diz ao Angular para verificar as alterações em cada propriedade no objeto monitorado. Se você deseja monitorar elementos individuais da matriz ou a propriedade do objeto em vez de um valor normal, você deve usá -lo
Pegue uma castanha:
$ scope.name = 'hello'; var watch = $ scope. $ watch ('nome', function (newvalue, OldValue, escopo) {console.log (newValue); console.log (OldValue);}); $ timeout (function () {$ scope.name = "mundo";}, 1000);2. Ouça as mudanças em vários valores
A situação usual é ouvir mudanças no valor uma de cada vez através $watch() , que obviamente a maioria das situações é satisfeita. No entanto, ao ler a explicação do site oficial de $watch() , $watch() tem um terceiro parâmetro, o terceiro parâmetro é do tipo booleano, indicando se deve ouvir profundamente. Um exemplo de monitoramento profundo é se deve comparar as propriedades do objeto.
Dessa forma, podemos monitorar alterações em vários valores de uma só vez.
Código de amostra
var app = angular.module ("watchApp", []) .Controller ("watchcontroller", ["$ scope", function ($ scope) {$ scope.Object = {}; $ scope.Object.One = $ scope.One;Resumir
O exposto acima é sobre como o AngularJS ouve para vários valores que mudam de uma só vez. Você aprendeu? Espero que o conteúdo deste artigo seja útil para o estudo e o trabalho de todos. Se você tiver alguma dúvida, pode deixar uma mensagem para se comunicar. Obrigado pelo seu apoio ao wulin.com.