在AngularJS的第一个下拉列表中加载数据,然后在此下拉列表的基础上我希望使用来自另一个控制器的数据生成下一个下拉列表
<ul data-role="listview" data-inset="true">
<li ng-controller="exerciseCatagoryCtrl">
<span>Catagory</span>
<select id="exerciseSuperCategory" data-role="listview" ng-options="catagory as catagory.text for catagory in catagories.cast " ng-model="item" ng-change="update()">
</select>
</li>
</ul>
在JS中
var myApp = angular.module('myApp', []);
myApp.factory('catagories', function () {
var catagories = {};
catagories.cast = [{
value : "exeCatagory_001",
text : "Indoor"
}, {
value : "exeCatagory_002",
text : "Outdoor"
}
];
return catagories;
})
myApp.controller('exerciseCatagoryCtrl', function ($scope, catagories) {
$scope.catagories = catagories;
$scope.update = function () {
alert($('#exerciseSuperCategory option:selected').text());
}
});
所以现在根据这个文本进入ng-change事件我想从不同的控制器获取数据 说其他控制器是
myApp.factory('types', function () {
var types = {};
types.cast = [{
value : "exeCatagory_001",
text : "Gym"
}, {
value : "exeCatagory_002",
text : "Sports"
}
];
return types;
})
myApp.controller('exerciseTypeCtrl', function ($scope, types) {
$scope.types = types;
$scope.update = function () {
alert("Index Changed");
}
});
所以我希望其他下拉列表中的这些数据是用户从第一个下拉列表选择室外 我尝试了不同的方法,但他们没有工作 如果用户选择室内,则会有另一个控制器