fad*_*bee 11 broadcast angularjs
我在AngularJS应用程序中看到了一些非常奇怪的行为.
当进行单个$广播时,(仅)接收器被触发两次.
对整个应用程序的影响就好像接收器只被触发一次.(即只有一个项目被添加到篮子中).
如果您点击$ broadcast两次(即点击两次触发$ broadcast的按钮),您将获得四次接收器的执行,但是两个项目的数量正确地添加到篮子中.
这里有一些类似电子表格的重新计算吗?$ scope函数是否需要不影响'普通'javascript变量?
我的问题是我添加了一个alert,它被显示两次.
我在调试这个方面做了一些工作:
我添加了一个计数器,计算收到广播的次数.
如果范围(没有美元)是全局的,我得到加倍的结果.如果它的范围是Ctlr函数的本地范围,我得到一个非加倍的结果.
我可以以某种方式创建我的控制器的两个实例吗?
我可以从firebug看到,从控制器完成的$ http ajax请求只发生一次,所以我很困惑.
cli*_*ers 22
我首先将一个console.log语句添加到控制器的主体中,以查看它初始化的次数.控制器的生命周期可以很短,因为它们与可以经常创建和销毁的DOM元素相关联.
如果您使用$ routeProvider,是否为"controller"属性指定了值?如果是这样,您是否也使用"ng-controller"属性在局部中指定相同的控制器?您真的想要选择一个或另一个,而不是两个,否则每次导航到该路线时都会创建两个控制器实例.
| 归档时间: |
|
| 查看次数: |
6583 次 |
| 最近记录: |