javascript - 从 AngularJs 中的 Controller 绑定(bind) ngModel 或从 ngModel 调用函数

标签 javascript angularjs

我正在尝试根据 angularjs 中的某些属性绑定(bind)未知的数组索引。

    <select id="iditemtype" ng-model="method(entity, e)"
        ng-options="e as e.configValue for e in allConfig() | filter:{typeName:'ItemType'}">
    </select>

//javascript method inside controller

    function method()
    {
        var index = -1;
        for(var i=0;i<entity.attributes.length;i++){
            if(entity.attributes[i].type=='ItemType'){
                index = i;
                break;
            }
        }

        if(index==-1){
            entity.attributes.push(0, e);
        }
        else
            entity.attributes[index] = e;
    }

上面的示例代码是我的真实意图。我想从选择列表中绑定(bind)特定属性。

我正在使用angularjs 1.3

最佳答案

这里你不能将函数传递给 ng-model,因为 Angular 必须能够在用户更改输入值时设置该值。在这里,您可以使用 $watch 来实现您的目标,也可以在此处使用 Angular 的 ng-change 指令和 select 。在选择值更改时调用函数,并在与 ng-change 绑定(bind)的 Controller 函数中设置相关变量。

关于javascript - 从 AngularJs 中的 Controller 绑定(bind) ngModel 或从 ngModel 调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32541536/

相关文章:

Javascript IIFE 更改结果

javascript - JSP/JavaScript/JQuery : store html/javascript content in a variable + write it to textarea

javascript - 如何从 JavaScript 打开带有目标的链接

javascript - 如何与父范围共享子指令的数据?

angularjs - Nativescript 找不到模块 'nativescript-angular/http'

javascript - 嵌套指令中的内部指令未显示

javascript - JScript 一词在 MSDN 中的地位如何?

javascript - 如何从基本模块设置服务以调用使用 angularjs 中的基本模块的模块中的服务上的函数

css - ng-repeat 的 Angular 动画不起作用

javascript - 两个提交一个ajax一个常规表单