所以我想知道我的变量之一何时在html端更改。
但是我找不到在角度控制器上使用事件监听器($ watch)的任何方法。

因此,这是我要解决的问题:

 <div class="form-group">
                    <label class="col-md-3 control-label">Please Select the Device</label>
                    <div class="col-md-9">
                        <select class="form-control" ng-model="reportCtrl.selectedDevice" ng-options="item.name as item.MyName for item in reportCtrl.deviceList">
                        </select>
                    </div>
                </div>

                <div class="form-group" ng-if="reportCtrl.selectedDevice">
                    <label class="col-md-3 control-label">Please Select the Sensor</label>
                    <div class="col-md-9">
                        <select class="form-control">
                        </select>
                    </div>
                </div>


我用设备列表填充选项,具体取决于用户选择的内容,我需要再次调用以获取该设备中的所有传感器属性,但是我想在用户选择设备时进行调用。

那么在这种情况下如何使用事件监听器拨打电话呢?

最佳答案

只需使用ng-change作为拨打电话的触发器。收到响应后,第二选择将自动更新其选项(当然,在添加ng-options属性之后)。

<select class="form-control" ng-change="doTheThing()" ng-model="reportCtrl.selectedDevice" ng-options="item.name as item.MyName for item in reportCtrl.deviceList">


您也可以使用$ watch,但是在这种情况下,它的效率不如ng-change。 $scope.$watch('reportCtrl.selectedDevice', function(newValue, oldValue){...});

关于javascript - 用angularjs添加事件监听器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35445664/

10-12 12:29