javascript - 每次使用 Angular Controller 都会创建一个新的 if 实例吗?

标签 javascript angularjs

我创建了一个 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 内部更新的属性。

最佳答案

来自angular documentation

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/

相关文章:

javascript - 这是最好的方法吗?

javascript - 通过javascript顺利删除和添加一个类

javascript - 带有 Angular ui-router 的纯 CSS 模态 (::target)

javascript - 通过angularjs登录时MVC更新 ` __RequestVerificationToken` token

javascript - AngularJS文件输入onchange事件到controllerAs

javascript - Angular : Accessing particular directive scope from controller

javascript - d3.js 在时间序列尺度上绘制图表

javascript - 如何在 CSS 中自动调整宽度,以便水平滚动条自动调整而不占用太多空间?

javascript - 无限javascript while循环查询表

javascript - 如何将值数组作为键分配给另一个值数组?