AngularJS控制器执行两次(不是因为路由器)
AngularJS controller executes twice (not because of router)
据我所知,此问题的最常见原因是当控制器包含在模板和路由提供程序中时。就我而言,只有包含此html的父模板包含在路由器中,并且具有自己的控制器。子模板作为菜单选择的结果被包括在内
因此,每当选择菜单项时,都会加载模板,并且控制器中的所有内容都会执行两次。它可以是ng开关或ng包含的产品吗?
<span ng-switch on="selection">
<div ng-switch-when="0">
<div ng-include="'partials/one.html'" ng-controller="oneController"></div>
</div>
<div ng-switch-when="1">
<div ng-include="'partials/two.html'" ng-controller="twoController"></div>
</div>
<div ng-switch-when="2">
<div ng-include="'partials/three.html'" ng-controller="threeController"></div>
</div>
</span>
编辑:
包含的部分不再包含控制器。我已经三重检查了这些控制器是否没有提到这段代码以外的任何地方。一个/两个/三个部分的内容如下所示,控制器仍然运行两次。
<div>Nothing to see here.</div>
我在这里做一个有根据的猜测......但是你的"'partials/one.html'"
也有ng-controller="oneController"
吗? 如果是这样,则需要从包含div 或部分中删除 ng-controller 声明。
相关文章:
- Meteor Router数据函数被调用两次
- 从MySQL数据库中获取输入数据需要两次页面刷新
- Module.start()已激发两次
- Jquery点击事件必须点击两次
- Append元素在运行两次函数后不显示
- 防止双击执行两次jQuery post请求
- 我必须点击两次才能激活任何按钮操作(离子/角度)
- 单击jQuery会激发两次
- 如何避免在树上走两次
- button.单击两次删除附加操作后不工作
- 由于$compile,Javascript(Angular)嵌套指令加载了两次
- 单击元素两次后执行操作
- AngularJs正在阻止链接被点击两次
- 为什么我的路线处理程序会触发两次
- 为什么Highchart在我的rails应用程序中加载了两次?(未捕获的Highcharts错误#16)
- 在列表中至少使用两次随机生成的nr
- 检查某个键是否按下两次
- 一次点击,两次'单击'事件已启动
- 我的所有代码在使用Webpack编译时都会运行两次
- AngularJS控制器执行两次(不是因为路由器)