javascript - Angular js中同一 Controller 的两个实例

标签 javascript html angularjs

我遇到了这个问题(我知道这不是一个好的做法)。我有一个具有分屏的 View 。在左侧您有一个输入字段,在右侧您可以看到输入字段值。双方都有相同的 Controller ,但我使用带有 ui-view 属性的状态提供程序。

index.html

<div class="col-sm-6" ui-view="left-side">
<div class="col-sm-6" ui-view="right-side">

app.js

$stateProvider.state('/',{
        url: '/',
         views:{
            'left-side':  {
                templateUrl: 'leftside.html',
                controller: 'testController'
            },
            'right-side': {
                 templateUrl: 'rightside.html'
                 controller: 'testController'
            }
        }

rightside.html

<div class="container">
    <p>{{item}}</p>
</div>

leftside.html

<div class="container">
    <input ng-model="item" />
</div>

并且在 testController.js

app.controller('testController, function($scope){
    $scope.item = 'some text value';
});

我知道每个 ui-view 都有一个单独的(实例?)范围。 如果我在左侧的输入字段中写一些东西,有没有办法在右侧进行更改?

最佳答案

您可以在 View 外声明controller 选项,这样只会初始化一次

代码

$stateProvider.state('/',{
    url: '/',
    controller: 'testController',
    views:{
       'left-side':  {
       templateUrl: 'leftside.html'
    },
      'right-side': {
       templateUrl: 'rightside.html
    }
}

关于javascript - Angular js中同一 Controller 的两个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37211902/

相关文章:

javascript - 在 Django View 中检索嵌套的 javascript 对象作为字典

javascript - Ionic/AngularJS ng-click 事件没有触发?

html - 每个测试类的 Gradle html 报告

javascript - AngularJS 指令 : $timeout alternative

javascript - 如何在不使用 ng-repeat Angularjs 的情况下移动下一个和上一个 div?

javascript - 从链接元素获取第一个属性

javascript - 如何使用 Angular JS 将数据保存到数据库中?

javascript - 路由解析+多 Controller 组合?

javascript - 表格列表后显示谁是第一名的持有者

javascript - 函数执行完毕后加载表