当ng-model从DB加载值时,将调用ng-change

时间:2018-02-14 12:03:27

标签: angularjs angularjs-directive

<div class="row" ng-repeat="dev in devs track by $index">
            <div class="form-group col-md-2">
                <select class="form-control form-control-sm"
                    ng-change="Function1(null)"
                    ng-model="dev.name" ng-required="true">
                    <option ng-repeat="item in dev.resc"
                        value="{{item.Id}}">{{item.name}}</option>
                </select> 
            </div>
            <div class="form-group col-md-2">
                <input type="text" 
                    ng-change="Function2(some value)"
                    ng-model="dev.startDate">
            </div>
            <div class="form-group col-md-2">
                <input type="text" my-date-picker
                    class="form-control form-control-sm" 
                    placeholder="Eg. 01/01/2018" ng-required="true"
                    ng-change="Function2(some value)"
                    ng-model="dev.endDate"
                    >
            </div>
            <div class="form-group col-md-2">
                <input type="number"
                    class="form-control form-control-sm" 
                    placeholder="Eg. 100"
                    ng-change="Function3(some value)"
                    ng-model="dev.loc"
                    ng-required=true> 
            </div>
            <div class="form-group input-group col-md-2">
                <input type="number" placeholder="Eg. 100"
                    class="form-control form-control-sm" 
                    ng-change="Function3(some value)"
                    ng-model="dev.Add"
                     ng-required="true"> 
        </div>
</div>

在上面的代码中,当我遍历开发时,每次ng-model加载值时都会调用 FUNCTION2 ,但 FUNCTION1 FUNCTION3 是没有被召唤。 我不希望FUNCTION2被调用,我该如何实现?上面的代码有什么问题?希望我怀疑是可以理解的。

1 个答案:

答案 0 :(得分:1)

您似乎正在格式化触发my-date-picker事件的ng-change指令中的输入模型值。你需要相应地处理它。使用$watch或处理相同的内部指令本身。