所以我想知道我的一个变量在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>
我使用设备列表填充选项,具体取决于用户选择的内容,我需要再次调用以获取该设备中的所有传感器属性,但我想在用户选择设备时拨打电话。
那么如何在这种情况下使用事件监听器来进行调用?
答案 0 :(得分:2)
只需使用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){...});