无法更改控制器中的选择名称

时间:2014-01-02 06:09:33

标签: javascript angularjs

为此道歉,但我是angularjs的新手。

我有一个选择控件,并且正在从此标记中填充:

<select ng-model="limit" data-ng-options="listLimit.name for listLimit in listLimits" data-ng-change="limitChanged()"></select>

一旦完成选项名称只需50,100&amp; 150。

我遇到的问题是当我更改select控件中的值时,limitChanged()函数似乎不知道从控件中选择的新选项名称。例如:

module.controller('PageController', function ($scope) {

    // $scopr.listLimits[0] is essentially the object {name:50}
    $scope.limit = $scope.listLimits[0];

    $scope.limitChanged = function() {
        // This will log 50 (the default value) regardless of what's been selected.
        console.log($scope.limit.name);
        loadList(); // This will change the item limit.
    };
}

但是,在视图中,如果我将{{limit}}放在某处,则会随着选择控件的更改而更新值。我糊涂了。有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:0)

我的数据有问题(listLimits),对我来说它有用。
jsFiddle

function ParentCtrl($scope) {

     $scope.limitList =[
         { name: "value1"},
         { name: "value2"},
          { name: "value3"}
     ];

    $scope.limit='';

    $scope.limitChanged=function(){
      console.log($scope.limit);
    }

}

答案 1 :(得分:0)

事实证明,这实际上是由于周围div上缺少ng-controller属性造成的。我想这意味着控件并不属于控制器操作的范围。