无法在angularjs控制器中分配下拉选择值。

时间:2016-03-18 20:18:34

标签: javascript angularjs html5 drop-down-menu scope

我发现我面临的问题有点奇怪。这里是。

HTML

<div>
     <select ng-model="params.select" ng-change="View($event)">
           <option value="" disabled>-</option>
           <option value="table1">Table 1</option>
           <option value="table2">Table 2</option>
           <option value="table3">Table 3</option>
     </select>
</div>     

控制器

$scope.View = function ($event) {
  if($scope.params.select =='table1') {
     console.log('table 1 is selected');
  }

在上面的代码中,如果我检查下拉值是否为table1,我可以检查。这很好。

但是,如果我尝试初始化它。例如。

$scope.params.select = 'table1'

它在控制台视图中出现错误,指出“无法设置属性&#39;选择&#39;未定义的。请有人在我错的地方突出我。

1 个答案:

答案 0 :(得分:1)

确保定义了$scope.params并且确定了一个对象:

$scope.params = {}
$scope.params.select = 'table1'

或一次定义和设置:

$scope.params = {select: 'table1'}