将属性绑定到隔离范围中的对象属性

蒂姆·埃文

我有一个指令(使用隔离范围),该指令利用另一个指令来更改标志,因此必须将其放入容器对象中。现在,我还希望能够从外部设置该标志。让我为您“画”这个:

outerScope (outerFlag1 = true, outerFlag2 = true)
    directiveScope (container.flag1 = false, container.flag2 = false)
        subdirectiveScope (container.flag1 = false)
        subdirectiveScope (container.flag2 = false)

由于容器是原型继承的,所以指令ScopesubdirectiveScope的标志变量始终相同现在,我希望能够从外部进行设置,以将externalFlagXcontainer.flagX同步

使用隔离的范围定义,我可以像这样映射属性:

scope: {
        outerFlag1: '=flag1'
        outerFlag2: '=flag2'
       }

但是,我需要但不允许的是

scope: {
        outerFlag1: '=container.flag1'
        outerFlag2: '=container.flag2'
       }

我怎样才能做到这一点?

我根据Mikko提供的插件添加了一个插件(非常感谢):http ://plnkr.co/edit/hT6Zip

蒂姆·埃文

我的问题的答案有两个部分,从我的问题中并不完全显而易见,为此深表歉意。

  1. 只是不要使用容器对象。(请参阅我所问的问题

  2. 尽管这在插件中起作用,但在我的代码中仍然不起作用。所以我把它剥离下来,直到它起作用。第二个问题是,我将子指令与ng-if一起使用查看经过修改的插件,其中一种用法具有ng-if,如下所示:

    <sub-directive ng-if="condition" flag="flag2"> </subdirective>

不幸的是(在这种情况下),ng-if创建一个子作用域,以便如果在子伪指令中修改了该标志,它将在该子作用域中设置一个自己的属性。与往常一样,这在父范围(原型继承)中不可用。首先单击父复选框,它会按预期工作,单击子复选框将其中断。

因此,解决方案是改用ng-show,它不会创建另一个作用域。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将listview绑定到对象列表中的对象的属性

来自分类Dev

隔离范围的angularJS指令,属性绑定无效

来自分类Dev

AngularJS-将ngModel绑定到存储在属性中的对象

来自分类Dev

将范围属性绑定到 CSS 属性的不同方式?

来自分类Dev

将knockoutjs 绑定到javascript 对象属性

来自分类Dev

绑定到对象的属性

来自分类Dev

绑定到XAML中的对象的属性

来自分类Dev

如何从QML将属性绑定到单例对象属性

来自分类Dev

AngularJS:将角度服务属性绑定到范围

来自分类Dev

将范围值绑定到angular的ui-select中的ui-select-match属性

来自分类Dev

将范围值绑定到angular的ui-select中的ui-select-match属性

来自分类Dev

将viewModel属性绑定到MvvmCross中的view属性

来自分类Dev

将viewModel属性绑定到MvvmCross中的view属性

来自分类Dev

QML范围:子对象中的属性绑定失败

来自分类Dev

将对象属性内的对象绑定到WPF Datagrid中

来自分类Dev

将ngModel绑定到具有隔离范围的AngularJS指令

来自分类Dev

Winforms将ComboBox SelectedItem绑定到对象属性

来自分类Dev

将div CSS属性绑定到Javascript对象

来自分类Dev

如何将控件绑定到对象属性?

来自分类Dev

将新对象绑定到 Angular 表单而不是单个属性

来自分类Dev

如何将属性绑定到动态对象列表

来自分类Dev

如何将函数绑定到对象属性?

来自分类Dev

如何将CSS类绑定到Polymer中的可观察对象或属性?

来自分类Dev

如何通过属性值将模板绑定到数组中的对象?

来自分类Dev

Caliburn Micro-将ListBox绑定到集合中对象的属性

来自分类Dev

将属性绑定到DataTemplateSelector

来自分类Dev

将属性绑定到itemssource集合的属性

来自分类Dev

将数字属性绑定到布尔属性

来自分类Dev

将UserControl属性绑定到Window属性

Related 相关文章

  1. 1

    将listview绑定到对象列表中的对象的属性

  2. 2

    隔离范围的angularJS指令,属性绑定无效

  3. 3

    AngularJS-将ngModel绑定到存储在属性中的对象

  4. 4

    将范围属性绑定到 CSS 属性的不同方式?

  5. 5

    将knockoutjs 绑定到javascript 对象属性

  6. 6

    绑定到对象的属性

  7. 7

    绑定到XAML中的对象的属性

  8. 8

    如何从QML将属性绑定到单例对象属性

  9. 9

    AngularJS:将角度服务属性绑定到范围

  10. 10

    将范围值绑定到angular的ui-select中的ui-select-match属性

  11. 11

    将范围值绑定到angular的ui-select中的ui-select-match属性

  12. 12

    将viewModel属性绑定到MvvmCross中的view属性

  13. 13

    将viewModel属性绑定到MvvmCross中的view属性

  14. 14

    QML范围:子对象中的属性绑定失败

  15. 15

    将对象属性内的对象绑定到WPF Datagrid中

  16. 16

    将ngModel绑定到具有隔离范围的AngularJS指令

  17. 17

    Winforms将ComboBox SelectedItem绑定到对象属性

  18. 18

    将div CSS属性绑定到Javascript对象

  19. 19

    如何将控件绑定到对象属性?

  20. 20

    将新对象绑定到 Angular 表单而不是单个属性

  21. 21

    如何将属性绑定到动态对象列表

  22. 22

    如何将函数绑定到对象属性?

  23. 23

    如何将CSS类绑定到Polymer中的可观察对象或属性?

  24. 24

    如何通过属性值将模板绑定到数组中的对象?

  25. 25

    Caliburn Micro-将ListBox绑定到集合中对象的属性

  26. 26

    将属性绑定到DataTemplateSelector

  27. 27

    将属性绑定到itemssource集合的属性

  28. 28

    将数字属性绑定到布尔属性

  29. 29

    将UserControl属性绑定到Window属性

热门标签

归档