ng-change witing select使用ng-options不起作用

时间:2016-02-16 03:35:02

标签: javascript angularjs ng-options

我有这段代码

<select  ng-model="trabajadores.orderSelected"  ng-options="excel for excel in trabajadores.csv.result[1]" ng-change="console.log('changed')">
                        </select>

它假设对于选择更改的console.log(&#34;更改了#34;),但它没有:(。你可以帮我解决这个问题吗?(ng-options工作正常,ng-模型已被评估)

1 个答案:

答案 0 :(得分:0)

如果在开发过程中你想多次使用视图console中的输出,那么每次写这个函数都不方便。

最好按以下步骤进行。使用内置角度指令$log

jsfidlle上的实例。

&#13;
&#13;
var app = angular.module('my-app', [], function() {}).run(function($rootScope,$log){
  $rootScope.$log = $log;
});

app.controller('AppController', function($scope) {
  $scope.trabajadores = {
    csv: {
      result: [0, ['e1', 'e2']]
    }
  };
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="my-app">
  <div ng-controller="AppController">
    <select ng-model="trabajadores.orderSelected" ng-options="excel for excel in trabajadores.csv.result[1]" ng-change="$log.log('changed '+ trabajadores.orderSelected)">
    </select>
  </div>
</div>
&#13;
&#13;
&#13;

当然,您不能保留此生产代码。但对于debug模式,它可以完全使用。

有了这个,您可以在任何控制器中使用$log而无需任何额外的工作。