Ken*_*avR 5 javascript angularjs angularjs-directive
我找到了这个相关主题,其中的答案建议注意模型更改而不是选择的更改。但在我的示例中,“模型”是列表中对象的一部分。$watch为列表中的每个对象初始化的正确方法是什么?
选择
<li data-ng-repeat="obj in main.list track by $index">
<select data-ng-change="main.changeStatus(obj)" data-ng-model="obj.status">
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
</select>
</li>
Run Code Online (Sandbox Code Playgroud)
更改状态
我需要更新对象或已经在 change 方法中接收到正确的对象。
main.changeStatus = function(obj) {
var r = new Resource(obj);
...
r.$save({...}, function (savedObj) {
...
});
}
Run Code Online (Sandbox Code Playgroud)
解决这个问题的正确方法是什么?
谢谢
编辑:我想我没有问正确的问题。
发布的代码没有实现我想要的,因为在模型更新之前执行了更改方法,因此我将不正确/旧的对象发送到后端。现在有几种方法可以解决这个问题
理想情况下,我将新对象用于更改方法,但我不知道如何。
Edit2:我试图写一个小提琴来说明清楚,但它在那里工作。我需要更深入地研究我的代码,因为问题似乎出在其他地方。
让我们澄清你的问题,你有 5 个下拉菜单,每个下拉菜单有 3 个选项 a、b、c,你想以明确的方式做什么?如果您的意思是通过“更新对象或已经在更改中收到正确的对象”来表示 main.list 中的列表对象,那么您的代码就可以了。