在可编辑行内设置变量

Set Variable Inside Xeditable Row

本文关键字:设置 变量 编辑      更新时间:2023-09-26

我正在使用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">

行编辑的Xeditable演示供参考:

http://jsfiddle.net/NfPcH/93/

注意:我使用的是1.3,这个演示使用的是1.0.8,所以我可以使用更新的过滤器。

当使用Xeditable时,我如何在ng repeat中设置一个变量,该变量的作用域是自身而不是父对象?

使用e-ng-onche:

e-ng-change="changeStatus($data,user)"

这是我所做的一个jsfiddle链接。控制器有一些修改。例如I组选择。将"状态"更改为"状态"4将更改用户的组。

http://jsfiddle.net/leeray75/jwv29g1m/