angularjs中的ng-model属性

时间:2012-11-01 15:56:54

标签: angularjs

我的HTML代码;

            <!doctype html>
            <html ng-app ng-controller="peopleController">
              <head>
                <script src="js/angular.min.js" type="text/javascript"></script>
                <script>
                function peopleController($scope){
                        $scope.people = [
                            { name : "aa" , age : 14 },
                            { name : "ss" , age : 11},
                            { name : "dd" , age : 12},
                            { name : "ff" , age : 16},
                            { name : "gg" , age : 13}
                        ];

                        $scope.keys=(function(obj){
                            var keys = [];
                            for(var key in obj){
                                console.log(obj);
                                if(obj.hasOwnProperty(key)){ keys.push(key);}
                            }
                            return keys;
                        })($scope.people[0]);
                    }
                </script>
                <title>aasss</title>
              </head>
              <body >
              <select ng-model="aaa">
                <option ng-repeat="x in keys" value="{{x}}">{{x}}</option>
              </select> 
              </body>
            </html>

为select元素生成html部分;

            <select ng-model="aaa" class="ng-pristine ng-valid">
                <option value="? undefined:undefined ?"></option>
                <!-- ngRepeat: x in keys -->
                <option ng-repeat="x in keys" value="name" class="ng-scope ng-binding">name</option>
                <option ng-repeat="x in keys" value="age" class="ng-scope ng-binding">age</option>
            </select>

当我从select元素中删除ng-model =“aaa”属性时,问题不会出现。 可能是什么问题?

1 个答案:

答案 0 :(得分:4)

您不应该在选择中使用ng-repeat,请查看select doc。 select有自己的理解机制。此外,不确定为什么你的选择器中有2 ng-repeat。好像你可能想要封装两组密钥。