ng-change不会在应用程序基础中的选择上触发



在基础应用程序 Web 应用程序上,我想在更改选择值时触发控制器中的函数。

我在模板中做了以下操作:

---
name: meeting-rooms
url: /meeting-rooms
controller: MeetingRoomsCtrl
animationIn: slideInRight
animationOut: slideOutLeft
---
<div class="custom-tabs" zf-tabs="">
    <div class="custom-tabs-item" zf-tab="" title="Location" data-options="one_up: false">
        <form class="form">
            <select id="selectLocation" class="select form-place-select" ng-model="selectLocation" ng-change="selectLocationChanged()">
                <option value="">Select a place</option>
                <option value="New York">New York</option>
            </select>   
        </form>
    </div>
</div>

还有我的控制器:

(function() {
    'use strict';
    angular.module('application').controller('MeetingRoomsCtrl', ['$scope',
        function($scope, $state, $window, foundation, ModalFactory, NotificationFactory) {
            $scope.selectLocationChanged = function() {
                console.log($scope.selectLocation.name);
            };
        }
    ]);
})();

这应该有效:提供了ng-model,函数selectLocationChanged存在于作用域中(我可以在同一模板中使用控制器中设置的其他变量),并且语法ng-model="selectLocation" ng-change="selectLocationChanged()"是正确的。我在控制台中没有任何错误消息,只是没有触发更改事件。

有什么理由为什么这不起作用吗?也许是应用程序基础的特定内容?

将您的代码更改为此,忘记在 HTML 页面中包含控制器

<form class="form" ng-controller="MeetingRoomsCtrl">
     <div  >
      <select id="selectLocation" class="select form-place-select" ng-model="selectLocation" ng-change="selectLocationChanged(selectLocation)">
           <option value="" disabled="disabled">Select a place</option>
           <option value="New York">New York</option>
     </select>
    </div>
   </form>

相关内容

  • 没有找到相关文章

最新更新