如何在AngularJS中设置动态模型名称?

前端之家收集整理的这篇文章主要介绍了如何在AngularJS中设置动态模型名称?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想用一些动态问题填充表单(fiddle here):
<div ng-app ng-controller="QuestionController">
    <ul ng-repeat="question in Questions">
        <li>
            <div>{{question.Text}}</div>
            <select ng-model="Answers['{{question.Name}}']" ng-options="option for option in question.Options">
            </select>
        </li>
    </ul>

    <a ng-click="ShowAnswers()">Submit</a>
</div>
​
function QuestionController($scope) {
    $scope.Answers = {};

    $scope.Questions = [
    {
        "Text": "Gender?","Name": "GenderQuestion","Options": ["Male","Female"]},{
        "Text": "Favorite color?","Name": "ColorQuestion","Options": ["Red","Blue","Green"]}
    ];

    $scope.ShowAnswers = function()
    {
        alert($scope.Answers["GenderQuestion"]);
        alert($scope.Answers["{{question.Name}}"]);
    };
}​

一切正常,除了模型是字面上的答案[“{{question.Name}}”],而不是评估的Answers [“GenderQuestion”]。如何动态设置模型名称

http://jsfiddle.net/DrQ77/

你可以简单地将JavaScript表达式放在ng-model中。

猜你在找的Angularjs相关文章