解决美元AngularJS看失败
本文介绍了一种解决$看失败的AngularJS,分享给大家,顺便做笔记。可以帮助我们监视每个变量的变量的方法。
手表单变量
对于普通变量,如数字、字符串等,直接写如下可以监视变量的变化并执行相应的函数。
$范围=计数= 1;
美元美元范围。看(count,函数(){(){
…
});
观察多个变量
为了监视多个变量的变化,执行相同的函数,该函数可转换为带有多个变量的字符串,与监视器+分隔。
当计数或页面更改时,将执行此匿名函数。
$范围=计数= 1;
$范围=页1;
美元美元范围。看(count +页功能(){
…
});
$监视对象或数组
发现当使用上述两种方法对数组进行监控时,发现即使数组内容发生变化,也不会触发匿名函数,发现表函数有三个变量。第一个参数是需要监视的对象。第二个参数是当对象被改变时需要调用的函数。事实上,表有第三个参数,默认情况下是false。
当第三个参数为false时,监视函数实际上监视数组的地址,而数组内容的变化不影响数组地址的变化,因此表功能失败。
解决方案是在后面添加第三个参数为true。(当然,还可以将侦听器以JSON字符串的形式返回到对象或数组的匿名函数)。
$范围。项目= {
{ A:1 },
{ A:2 }
{:3 } };
美元美元('items范围看,函数(){…},真的);
或将监听对象或数组的匿名函数,该对象或数组返回结果作为JSON字符串。
$范围。项目= {
{ A:1 },
{ A:2 }
{:3 } };
$ $(表)(函数){()
返回json.stringify(美元范围。项目);
}函数(){…});
函数的返回结果
编写代码时,有时会看到函数返回的结果发生变化,因此请检查监视监视功能。
方法1:监视对象的字符串作为函数名(),记得添加()!
未完成任务号
scope.undonecount美元=函数(){
var计数= 0;
Angular.forEach(scope.todolist美元,功能(做){
数= 0:1 todo.done;
});
返回计数;
};
选择收音机的部分/影响
美元美元范围。看('undonecount()函数(NV){
scope.isdoneall美元= NV假:真;
});
方法2:在监视对象中设置一个匿名函数来返回要监视的函数的返回值(光晕)。
$ $(表)(函数){()
收益(美元的范围。undonecount); / /(),别忘了做啊~
}函数(NV){
scope.isdoneall美元= NV假:真;
});
取消美元的手表
手表的性能消耗似乎非常大,所以你记得经常取消它的手表,你不需要监控。
至于如何取消,花了很长时间才找到的。
事实上,每一个表函数返回的结果是deregisterwatch()这个手表的功能
在Chrome控制台中,返回值是由观察断点获得的。
功能deregisterwatch(){
ArrayRemove(阵列,守望者);
lastdirtywatch = null;
}
所以,如果你想取消手表,首先保存$手表的返回值,当你想取消手表时调用它。
var计数= 1;
无功unbingwatch = $(美元范围。看'todolist功能()){
console.log('todolist变化);
计数+;
在 / /计划表的变化相当于4倍,我们称之为unbingwatch(手表)取消
在第五 / /计划表的变化,将输出计划表的变化。
如果(计数> 4){
UnbingWatch();
}
});
以上是本文的全部内容,希望能对您有所帮助,希望大家多多支持。