Angularjs ng更改方法未执行
我正在尝试传递在中选择的对象以更新另一个对象的数据。 这是htmlAngularjs ng更改方法未执行,angularjs,ng-options,angularjs-ng-change,Angularjs,Ng Options,Angularjs Ng Change,我正在尝试传递在中选择的对象以更新另一个对象的数据。 这是html <select id="categoryListBox" ng-model="category.selected" ng-change="updateCategory(category.selected)" ng-options="category._id as category.name for category in c
<select id="categoryListBox"
ng-model="category.selected"
ng-change="updateCategory(category.selected)"
ng-options="category._id as category.name for category in categories">
</select>
我的问题是,当所选项发生更改时,updateCategory方法不会触发。我希望在
中选择的选项更改我的$scope.updateCategory方法时触发。如果我能将所选类别传递给此方法,那也太棒了
这里更新的是填充数组类别的my初始化
$scope.init = function (){
console.log('dfakjsdhf');
console.log(apiUrl);
$scope.category = {};
$scope.subcategory = {};
//$scope.categories = {_id: 1, name:'test'};
$http({ method: 'GET', url: apiUrl + '/categories'}).
success(function (data, status, headers, config) {
$scope.categories = data;
console.log($scope.categories);
}).
error(function (data, status, headers, config) {
console.log('error');
});
};
无需传递函数中所选的category.selected。在js控制器中,它将位于您的作用域中,只需在updateCategory()函数中使用它即可 Html:
只需将您的ng模型从
类别中重命名。所选的为其他类型。根据我的理解,在您的代码中,ng选项类别和ng模型类别之间存在歧义
控制台日志(hi);当从html和中的两个函数中删除参数时,不会显示controller@AustinDavis检查我添加的JSFIDLE,在您的问题中,我仍然看到html通过所选类别,但函数没有任何输入。
$scope.updateCategory = function(){
console.log('hi');
}
$scope.init = function (){
console.log('dfakjsdhf');
console.log(apiUrl);
$scope.category = {};
$scope.subcategory = {};
//$scope.categories = {_id: 1, name:'test'};
$http({ method: 'GET', url: apiUrl + '/categories'}).
success(function (data, status, headers, config) {
$scope.categories = data;
console.log($scope.categories);
}).
error(function (data, status, headers, config) {
console.log('error');
});
};
<select id="categoryListBox"
ng-model="category.selected"
ng-change="updateCategory()"
ng-options="category.id as category.name for category in categories">
</select>
$scope.updateCategory = function(){
alert($scope.category.selected);
}
<select id="categoryListBox"
ng-model="categorymodel"
ng-change="updateCategory(categorymodel)"
ng-options="category.id as category.name for category in categories">
</select>