Javascript 关于ngOptions跟踪的问题
我对使用Javascript 关于ngOptions跟踪的问题,javascript,angularjs,ng-options,Javascript,Angularjs,Ng Options,我对使用ngOptions创建的AngularJs选项/选择器有一些问题。我的问题是它不会触发我在ngChange中使用的方法。我发现这是因为在actionList中name属性不是唯一的。因此,如果我改变,使他们是唯一的,它将按预期工作。然而,我希望他们的名字和现在一样 因此,我想我可以尝试类似于在ctrl.actionList中按action.value跟踪action中的动作的ng options=“action.name”。但它不起作用。有人能帮我吗 HTML <select id
ngOptions
创建的AngularJs选项/选择器有一些问题。我的问题是它不会触发我在ngChange
中使用的方法。我发现这是因为在actionList
中name
属性不是唯一的。因此,如果我改变,使他们是唯一的,它将按预期工作。然而,我希望他们的名字和现在一样
因此,我想我可以尝试类似于在ctrl.actionList中按action.value跟踪action中的动作的ng options=“action.name”
。但它不起作用。有人能帮我吗
HTML
<select id="someOptions" class="dropdown dropdown-md"
ng-model="ctrl.settingAction"
ng-change="ctrl.onChangeAction()"
ng-options="action.name for action in ctrl.actionList">
</select>
JS
public onChangeAction(): void {
console.log(this.settingAction);
}
您似乎正在使用“controller as”语法。您能否确认正在vm/self中设置
onChangeAction()
函数,如下所示
var vm = this;
vm.onChangeAction = function (): void {
console.log(this.settingAction);
}
演示
angular.module('myApp',[]).controller('myCtrl',function($scope){
var ctrl=this;
这是行动清单=[{
“姓名”:“跑步者”,
“值”:“运行”
}, {
“姓名”:“跑步者”,
“值”:“跳转”
}];
this.onChangeAction=函数(){
警报(this.settingAction.value);
}
});代码>
没错,我刚刚减少了零件数量,因此我只需突出显示我有问题的零件,如果有帮助,则标记编辑是否有效,但是在我的生产代码中,它是相同的,但不起作用。因此,我还没有完全准备好将其标记为已解决:/
var vm = this;
vm.onChangeAction = function (): void {
console.log(this.settingAction);
}