我创建了一个 Angular Controller 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'
})
我的问题是,加载页面后,我是否有两个 Controller 实例,还是只有一个 Controller 两个,两个部分都绑定(bind)并共享 $scope
?
如果创建了两个实例,我如何在两个外观之间共享可能在 Controller 内部更新的属性。
最佳答案
When a Controller is attached to the DOM via the ng-controller directive, Angular will instantiate a new Controller object, using the specified Controller's constructor function. A new child scope will be created and made available as an injectable parameter to the Controller's constructor function as $scope.
是的,将创建一个新的 Controller 实例。
要在 Controller 之间共享数据,最常见的方法是使用 service .
关于javascript - 每次使用 Angular Controller 都会创建一个新的 if 实例吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36195147/