首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

angular js - function多次触发,在ng-repeat中检查ng

在AngularJS中,如果你想在ng-repeat中检查一个函数是否被多次触发,你可以使用$watch来监听这个函数的变化。这是一个示例:

  1. 首先,在你的控制器中定义一个函数,该函数将被ng-repeat中的每个元素触发:
代码语言:javascript
复制
$scope.triggerFunction = function(item) {
  // 你的逻辑代码
};
  1. 然后,在控制器中使用$watch来监听这个函数的变化:
代码语言:javascript
复制
$scope.$watch('triggerFunction', function(newValue, oldValue) {
  if (newValue !== oldValue) {
    // 函数被触发
    console.log('Function has been triggered');
  }
}, true);
  1. ng-repeat中使用这个函数:
代码语言:javascript
复制
<div ng-repeat="item in items" ng-click="triggerFunction(item)">
  {{ item }}
</div>

这样,每当triggerFunction被触发时,$watch都会检测到变化并输出“Function has been triggered”。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • AngularJS 1 教程

    ---- JS Bin on jsbin.com 同样的一个简单需求,可以明显看得出jQuery业务代码,直接操作DOM代码揉杂一块,而AngularJS代码关心业务逻辑,HTML描述界面非常的清晰...说明: 脏检查需要一个契机触发,这也是AngualrJs 1提供大量自己包装过的js原生就有的方法,典型的如 timeout , http都是为了能够出发脏检查的 一次脏检查会便利App中所有的需要被观察的对象...1000毫秒setTimeout的能够更新是因为,这个时间点,恰好由timeout方法触发了一次检查。因此这也就导致了从另一个角度分析脏检查。...从性能角度来说脏检查 上面例子说明了AngularJS脏检查的特性,手动触发,全局检查。 每次循环都要全部遍历一边$$watchers的值,而且如果被检测的值相互有依赖,还要循环多次。...AngularJs本身以及内置了大量的指令,例如, ng-if , ng-repeat , 甚至ng-controller。 也可以通过下面方式来自定义指令。

    4.6K30

    再谈angularJS数据绑定机制及背后原理—angularJS常见问题总结

    假设你一个ng-click指令对应的handler函数更改了scope的一条数据,此时AngularJS会自动地通过调用$digest()来触发一轮$digest循环。...脏检查如何被触发angular 会在可能触发 UI 变更的时候进行脏检查:这句话并不准确。...触发几次? 首先:ng-click="" 什么都没有做。angular 会因为这个事件回调函数什么都没做就不进行脏检查吗?不会。 然后:#span1 被隐藏掉了,会检查绑定在它上面的表达式吗?...ng-click写的表达式,能使用JS原生对象上的方法,比如Math.max之类的吗?为什么? 不可以。...只要是页面,就不能直接调用原生的 JS 方法,因为这些并不存在于与页面对应的 Controller 的 $scope

    7.8K40

    2、Angular JS 学习笔记 – 双向数据绑定和Scope概念

    如果watch修改了模型的值,将会触发一次 Creation / 创建 根作用域应用启动的时候由$injector创建,template linking阶段和指令时将会创建新的子作用域; Watcher...监听指令,像是ng-click,注册一个监听器dom上。当dom的监听器触发后,这个指令将执行相关的表达式并且更新视图使用$apply方法。...指令和创建作用域 大多数情况,指令和作用域交互不创建新的作用域。无论如何,一些指令,像是ng-controller和ng-repeat,创建子作用域并且将子作用域赋予相对应的dom元素上。...查看ng-controller了解更多信息 作用域$watch性能考虑 作用域脏检查属性变动angular是一个常规的操作,所以脏检查函数需要尽可能的快。...angular离开这个执行上下文,并且结束keydown时间js框架的使用。 浏览器重新渲染这个视图基于更新的文本。

    13.2K20

    AngularJS:如何使用自定义指令来取代ng-repeat

    对于处理小数量,ng-repeat是非常有用的,但是如果需要处理非常大的数量集,还是采用自定义的方法更好一些。 也别是数据大多都是静态的或已预存储好的,这个时候应避免使用ng-repeat指令。...ng-repeat的表达式和 $watch Angular的表达式都会创建$watch 的Scope 函数。用于监听模型变化,当你的模型部分发生变化时它会通知你。...ng-repeat指令,如果某行数据有15列数据都绑定了表达式,如果数据有1000多行的话,那么$watch就将近15000个,这性能简直难以想象。...所以当我们想要实现ng-repeat的功能又想兼备性能,那只能另找一种方法了。...//$elem.append(tableRow); }); } } }); 总结 本文中,主要模拟了ng-repeat的工作方式和逻辑,但只限于静态内容

    2.5K70
    领券