Javascript AngularJS ng使用自定义指令选择时的更改

Javascript AngularJS ng使用自定义指令选择时的更改,javascript,angularjs,angularjs-directive,angularjs-scope,dom-events,Javascript,Angularjs,Angularjs Directive,Angularjs Scope,Dom Events,在我的应用程序中,我有一个带有select标记的自定义指令 <div class="row pv10" ng-if="item.visible"> <div class="col-xs-4 text-danger"><span ng-if="item.label_visible"> {{item.label}}</span></div> <

在我的应用程序中,我有一个带有select标记的自定义指令

<div class="row pv10" ng-if="item.visible">
  <div class="col-xs-4 text-danger"><span ng-if="item.label_visible"> {{item.label}}</span></div>
     <div class="col-xs-8">
        <div class="row">
          <div class="col-xs-1">
            <select ng-options="oneItem for oneItem in item.options" ng-model="selectedItem" ng-change="changeEvent()">
                {{selectedItem | json}}
            </select>
          </div>
      </div>
   </div>
</div>
遗憾的是,表达式不会根据更改进行评估。 其次,我尝试将函数直接附加到指令

link: function ($scope, elems, attrs) {
        $scope.changeEvent = function () {
            alert("Change Event!");
        }
    }
但它也不起作用

我在某个地方读到,即使在自定义指令中使用ng change,也会在控制器范围内操作,而不是在指令的孤立范围内操作。但是我不太确定。 我非常感谢你的帮助

编辑 这是我使用的指令的JSFIDLE。如果我需要提供更多细节,请告诉我,这是我第一次使用JSFIDLE

以下是指令的调用方式:

<div class="row" ng-repeat="item in jsonData">
  <div class="col-xs-12">   
    <cbp-select item='item' change="change()" ng-if="item.component == 'select'" />
  </div>
</div>

编辑2 当我将我的解决方案上传到本地服务器后,它开始正常工作。(是的,我清理了浏览器的现金,也清理了本地wamp/iss缓存)。 但现在我有一个不同的问题。
我有一个由不同指令(如上面的指令)构建的表单,所有指令都有ng click/change/blur。在我更改“select”指令中的一个选项之前,一切似乎都正常工作。选择其中一个值后,会触发ng change expression(不是因为它只是一个简单的警报),从那一刻起,我无法关注任何其他元素。奇怪的是,如果我在任何其他元素上触发ng change,无论是radiobtn还是checkbox,这个问题都不会发生。

您能粘贴整个指令代码吗?@Broisasse,问题已经更新。在您的第一次尝试中,您是否尝试了change event=“change”而不是change event=“change()”?括号触发函数而不是返回它。你能把它放在小提琴或其他东西里吗?参见这里的例子-
link: function ($scope, elems, attrs) {
        $scope.changeEvent = function () {
            alert("Change Event!");
        }
    }
<div class="row" ng-repeat="item in jsonData">
  <div class="col-xs-12">   
    <cbp-select item='item' change="change()" ng-if="item.component == 'select'" />
  </div>
</div>