AngularJS:如何生成动态ng模型

时间:2016-01-06 11:33:06

标签: javascript angularjs

我目前的情况是: 我正在做嵌套重复,如下:

<form name="task_form" ng-app="myApp" ng-submit="tasksubmit()">    
 <ul class="items-list">
      <li ng-repeat="task in taskslist | orderBy:orderProp">
      <p>
        <strong>{{task.title}}</strong>
      </p>
      <select name="task_value" ng-model="task.dropdown_value" class="select-box">
        <option ng-repeat="item in task.dropdown_values" value="{{item}}">{{item}}</option>
      </select>
     </li>
    </ul>
</form>

<li>我也在重复<option>。我想在ng-model中生成动态<select ng-model="">值。这样我就可以在控制器中获取它们......并通过task.id区分它们。

1 个答案:

答案 0 :(得分:1)

为ng-model分配动态值不是理想的方式, 你可以做的是给ng-model写一个特定的名字(下面)

<select name="task_value" ng-model="dropdown_value" class="select-box" ng-change="checkTaskId(task.id)">

你甚至可以对select元素使用ng-change并使用循环遍历你的对象并根据task.id检查值,但是在你的控制器本身。

否则如果你真的需要ng-model是动态的,那么下面是一个简单而另类的解决方案。

<select name="task_value" ng-model="myData.values[task.dropdown_value]"  class="select-box">

在你的控制器中,你可以像

一样
$scope.myData= {
    values:{}
};

还有其他各种方法可以做到这一点。方式根据您的要求而变化。希望这能解决你的问题。