我正在使用Xeditable指令来创建一个可编辑的表单。
我有两个下拉列表,当一个更改时,我想更新另一个。问题是Xeditable在编辑表单时会创建子范围。我无法弄清楚如何在该子范围内设置变量,以便该变量仅存在于该表行的范围内。
我试过
e-ng-init="myChildVariable = 1"
然后
e-ng-change="myChildVariable =2"
但是当我追踪{{myChildVariable}}时,它似乎没有得到更新。
在指令中,它创建了这个范围:
var self = this;
self.inputEl.bind('change', function() {
self.scope.$apply(function() {
self.scope.$form.$submit();
});
});
XEditable可以从$ data的下拉列表中传递当前选择。所以我试着把它传递给控制器中的一个函数:
e-ng-change="updateVarible($data)"
但是更新了$ parent范围。
我需要第一个选择来设置变量而第二个选择要过滤。我有过滤器工作,我只需要设置第二个可以访问的变量。
<span editable-select="user.status" e-ng-change="setVariableHereSomehow" e-form="rowform" e-ng-options="s.value as s.text for s in statuses">
{{ showStatus(user) }}
</span>
<span editable-select="user.group" e-name="group" onshow="loadGroups()" e-form="rowform" e-ng-options="g.id as g.text for g in groups | filter: useTheVariableHere">
行编辑的可编辑演示以供参考:
注意:我使用的是1.3,该演示使用1.0.8,因此我可以使用更新的过滤器。
使用Xeditable时,如何在ng-repeat中设置一个变量,该变量的范围是自身而不是父变量?
答案 0 :(得分:0)
使用e-ng-onchange:
e-ng-change="changeStatus($data,user)"
这是我所做的一个简单的链接。对控制器进行了一些修改。例如我的群体选择。将状态更改为Status4将更改用户的组。