所以我想知道我的变量之一何时在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/