从angularJs中的控制器绑定ngModel或从ngModel调用函数

时间:2015-09-12 17:11:52

标签: javascript angularjs

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

    <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;
    }

以上示例代码是我的实际意图。我想绑定选择列表中的特定属性。

我正在使用angularjs 1.3

1 个答案:

答案 0 :(得分:1)

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