-1
在下面的代码从我的应用程序,下拉没有得到与范围数据更新。我该如何做这项工作?我需要将下拉选项从父控制器传递给子控制器。我得到[$ injector:modulerr]错误。ng选项不更新选择标签
<div ng-app="myApp" ng-controller="parentCtrl as pt">
<button ng-click="pt.callChild()">Change Dropdown</button>
<div ng-controller="childCtrl as ct">
<select ng-model="ct.selectedName" ng-options="item for item in ct.names">
</select>
</div>
</div>
JS:
var app = angular.module('myApp', []);
app.controller('parentCtrl', function ($scope) {
var vm = this;
var newArray = ["Steve", "Jony"];
vm.callChild = function() {
$scope.$broadcast('someEvent', newArray);
};
});
app.controller('childCtrl', function ($scope) {
var vm = this;
vm.names = ["Emil", "Tobias", "Linus"];
$scope.$on('someEvent', function (e, newArray) {
vm.names = newArray;
});
});
这里是fiddle。
如果初始绑定不工作,这并不奇怪,整个事情是行不通的。你能发布整个错误信息吗? – valepu
您可以通过在小提琴中打开控制台来查看消息。但是在这里发布它:VM66 angular.min.js:6未捕获的错误:[$ injector:modulerr] http://errors.angularjs.org/1.4.8/$injector/modulerr?p0=myApp&p1=Error%3A %2 ... ogleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.4.8%2Fangular.min.js%3A20%3A274)(...) – maverick
对不起,当我写评论时没有注意到提琴 – valepu