Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 指令不';t在选择更改事件时触发_Javascript_Angularjs_Angularjs Directive - Fatal编程技术网

Javascript 指令不';t在选择更改事件时触发

Javascript 指令不';t在选择更改事件时触发,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我有以下HTML代码: <select class="state ng-scope ng-pristine ng-invalid ng-invalid-required"> <option value="" selected="selected" class="">Seleccione un estado</option> </select> 为什么指令没有被触发?问题是我没有监听更改事件。正确的代码是: link: function(s

我有以下HTML代码:

<select class="state ng-scope ng-pristine ng-invalid ng-invalid-required">
    <option value="" selected="selected" class="">Seleccione un estado</option>
</select>

为什么指令没有被触发?

问题是我没有监听
更改事件。正确的代码是:

link: function(scope, element, attrs) {
   console.log(element);
   ...
}

我会在你的选择中添加一个ng型号,然后在你的指令中添加一个手表。将变量传递到指令中并输出所需的结果。伪代码:

<select ng-model="myList" class="ng-scope ng-pristine ng-invalid ng-invalid-required">
    <option value="" selected="selected" class="">Seleccione un estado</option>
</select>

<span state selectedItem="myList"></span>

什么是
应用程序
?指令定义很好,应该可以用。不过,我发现了我的错误所在,我会回答我自己的问题
<select ng-model="myList" class="ng-scope ng-pristine ng-invalid ng-invalid-required">
    <option value="" selected="selected" class="">Seleccione un estado</option>
</select>

<span state selectedItem="myList"></span>
  directive('state', ['$http', function($http){
        return {
            restrict: 'A',
            scope: {
                myList: '=myList'
            },
            link: function(scope, element, attrs) {
                scope.$watch('myList', function (newValue, oldValue) {
                    console.log(changed);
                }
            }
        }
    }])