每次使用角度控制器都会创建一个新的if实例
Will each use of an angular Controller create a new Instance of if?
我已经创建了一个角度控制器UserController
。
在我的index.html中有一个像这样:
<nav class="navbar navbar-default" ng-controller="UserController as account">
<span ng-model="somePropertieInsideMyController"></span>
</nav>
第二次是通过app.main.js中的$routeProvider
,如下所示:
.when('/login', {
controller: 'UserController',
controllerAs: "account",
templateUrl: 'views/login.html'
})
我的问题是,加载页面后,我有两个控制器实例吗?还是只有一个控制器,两个部分都绑定并共享$scope
?
如果创建了两个实例,如何在两种外观中共享控制器内部可能更新的属性。
从角度文档
当控制器通过ng-Controller指令附加到DOM时,Angular将使用指定的Controller的构造函数实例化一个新的Controller对象。将创建一个新的子作用域,并将其作为控制器构造函数的可注入参数$scope提供。
因此,是的,将创建控制器的一个新实例。
要在控制器之间共享数据,最常见的方法是使用服务。
这样您将有两个不同的$scope
。像你那样使用同一个控制器是很奇怪的。通常$routeProvider
提供特定的控制器,您可以在主页面中考虑一种全局控制器。
相关文章:
- 同一项怎么可能在一个实例中未定义,却在另一个实例上定义
- jQuery"焦点”;在一个实例中有效,但在其他实例中无效
- 当与另一个实例进行比较时,我的类实例如何隐式返回数字
- 为什么可以't我使用成员方法初始化一个实例
- 如何使用 JavaScript 正则表达式搜索除一个实例之外的所有内容
- 挖空视图模型函数仅影响最后一个实例
- 插件总是只得到最后一个实例,如何让它适用于多个元素
- arguments变量是的一个实例
- 使用javascript删除特定HTML实体(breadcrumb)的最后一个实例
- jquery获取类的下一个实例的值
- 如何使外部按钮只影响类的一个实例
- javascript中的Ruby插值在两个实例中的一个实例中不起作用
- 剑道网格:在Angular指令中获取一个实例
- 多个 xmlhttp 请求会导致除最后一个实例之外的所有实例的 readystate 都达不到 4
- Wordpress jQuery 脚本不会在具有 jQuery.noConflict 用法的一个实例上启动
- 如何将 url (http://example.com) 的一个实例限制为仅在客户端打开一次
- 在单个页面上使用此.js 2 次时,它仅适用于一个实例
- 查找给定工作日的下一个实例(即.星期一)与时刻.js
- 谷歌地图将边界限制在世界的一个实例中
- CKEditor 一个实例用于多个 ID