如何在对象中使用ng-init?

时间:2016-04-05 03:52:49

标签: angularjs angularjs-ng-repeat angularjs-ng-init

我有一个下拉列表,其值是一个对象。 html代码如下。

<div class="form-group">  
    <label>Goal<span class="red-ast">*</span></label><br />   
    <select ng-change="setgoal(goals)" ng-model="goals" ng-init="goals={{oldGoal}}" class="form-control b-rad3">      
    <option ng-repeat="goal in allgoals" value="{{goal}}">{{goal.title}}</option>    
    </select>    
</div>

控制器代码如下:

$scope.allgoals = [
    0 => {
        title : "ABC",
        icon : "icon1.jpg",
        id : 01
    },
    1 => {
        title : "DEF",
        icon : "icon2.jpg",
        id : 02
    },
    2 => {
        title : "GHI",
        icon : "icon3.jpg",
        id : 03
    }

]

$scope.oldGoal = {
        title : "DEF",
        icon : "icon2.jpg",
        id : 02
    };

它会显示ABC,DEF,GHI的下拉列表。它很好,但我希望DEF将在下拉列表中预选。如果我这样做,它给了我一些解析错误。请纠正我在哪里出错。

1 个答案:

答案 0 :(得分:1)

Working Plnkr

只需使用ng-selected="c.title==oldGoal.title"

<option ng-selected="c.title==oldGoal.title" ng-repeat="c in allgoals">{{c.title}}</option>

<强>更新

Here is the updated plnkr。请检查并告知我们。