无法更改呼叫另一个控制器
Can ng-change call another controller?
我有以下html
<div ng-controller="select">
<select ng-options="n for n in names"
ng-model="selected.item"
ng-change="change()">
</select>
</div>
<div ng-controller="graph">
<input type="text" ng-model="mySelected.item">
<canvas id="line" class="chart chart-line" chart-labels="gs" chart-data="ser">
</canvas>
</div>
我希望ng选项中的change()方法调用"graph"控制器。基本上,如果更改了选项,则应该更新图形。有办法吗?请帮忙。
如果需要,我还会分享我的控制器代码:`
app.controller('graph', ['$scope', '$http', 'myService', function($scope,$http, myService) {
$scope.mySelected = myService.selected;
console.log($scope.mySelected);
//$http.get('/myapp/stocklist/'+ $scope.mySelected).
$http.get('/myapp/stocklist/AMZN').
success(function(data) {
gs = [];
ser = [];
for( var i=0; i<data.length; i++ ) {
gs.push(data[i].name);
ser.push(data[i].high);
}
$scope.gs=gs;
$scope.ser=[];
$scope.ser.push(ser);
});
}]);
app.controller('select', ['$scope', '$http', 'myService', function($scope,$http, myService) {
$scope.selected = myService.selected;
$http.get('/myapp/stocknames').
success(function(data) {
$scope.names=data;
console.log($scope.names);
});
}]);
在图形控制器中,您将使用$on:
scope.$on('onServiceSelected', function (event, selectedService) {
$scope.mySelected = selectedService;
});
在你的另一个控制器中,你会使用$broadcast:
$rootScope.$broadcast('onServiceSelected',$scope.serviceSelection);
这应该为你指明正确的方向。
相关文章:
- 如何在Angular单元测试中从另一个控制器的rootScope将方法添加到rootScope中
- 如何将一个变量从一个控制器传递到合金中的另一个控制器
- 如何从AngularJs中的另一个控制器访问控制器
- 单击angularjs中的另一个控制器时重新加载控制器
- Angularjs - 观察模态窗口从另一个控制器关闭
- 在一个控制器中更新服务变量,并在另一个控制器 - Angular JS中使用更新的值
- 如何使用javascript express node将变量从控制器中的一个方法公开.js到另一个控制器.js
- 将数据从控制器传递到另一个控制器
- 如何从另一个控制器更新控制器的ng重复模型
- 从另一个控制器调用一个控制器
- 无法更改呼叫另一个控制器
- angularjs调用另一个控制器's函数
- 访问一个控制器的ng隐藏值以在全局控制器中操纵另一个控制器中的ng样式
- 无法使用typescript访问angular中另一个控制器中声明的$rootscope属性
- 角度-将数组中的信息从一个控制器传递到另一个控制器
- 调用另一个控制器Angularjs中的控制器
- 可以't从另一个控制器访问$rootScope
- 如何在 angularjs 中将值传递给一个控制器到另一个控制器
- Angular js 从一个控制器从另一个控制器继承属性
- 将一些数据从一个控制器传输到另一个控制器,或者如何将控制器更改为服务