使用angularjs添加事件侦听器

时间:2016-02-17 00:25:57

标签: javascript angularjs event-listener

所以我想知道我的一个变量在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>

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

那么如何在这种情况下使用事件监听器来进行调用?

1 个答案:

答案 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){...});