javascript - 使用另一个 Controller 更改 ng-repeat 值

标签 javascript angularjs

我是 Angular JS 的新手。这是我的代码

<div ng-controller="firstCtrl">
    <div  ng-repeat="city in citynames">
        <p>{{city.name}}</p>
    </div>
</div>

<div ng-controller="secondCtrl">
    <button ng-click="changethis()">Click Here</button>
</div>

var app=angular.module('mainApp',[]);
    app.controller('firstCtrl',['$scope','$http',function($scope,$http){
        $scope.citynames=[{name:'Chennai',id:'1'},
            {name:'Bangalore',id:'2'},
            {name:'Hyderabad',id:'3'},
            {name:'Coimbatore',id:'4'},
            {name:'Mysore',id:'5'},
            ];
       }]);
    app.controller('secondCtrl',['$scope','$http',function($scope,$http){
        $scope.changethis=function(){
            $scope.citynames=[{name:'Delhi',id:'1'},
            {name:'Sydney',id:'2'},
            {name:'Newyork',id:'3'},
            {name:'London',id:'4'},
            ];
        };

       }]);

我想在单击第二个 Controller ng-click 事件时更改第一个 Controller ng-repeat 。但使用此代码不会改变。

最佳答案

每个 Controller 都有一个单独的范围,您可以使用 $rootScope https://docs.angularjs.org/api/ng/service/ $rootScope 是一个全局范围或使用 Angular 服务/工厂 https://docs.angularjs.org/guide/services在 Controller 之间共享范围。

关于javascript - 使用另一个 Controller 更改 ng-repeat 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33756594/

相关文章:

angularjs - 我想在每行之前添加行号,我正在使用 angularJs json 过滤器

python - 使用 celery 作为模型层

javascript - Angular 翻译 : display translation for dynamically found translation key

javascript - 将参数从 View 传递到 Controller 再到 AngularJS 中的工厂

javascript oncut 错误?

javascript - 使用javascript在html5中单击图像时播放视频?

javascript - 在 django-socketio 中获取用户

javascript - ng-options 中的键值对

PHP 出于 SEO 目的定期检索 JS 生成的内容?

javascript - 在模板中使用方法时,Angular 中的两种方式数据绑定(bind)