使用“作为控制器”语法时,如何在子控制器中引用父级的作用域?

萨曼莎JT星

在我的ParentController我现在有:

   $scope.grid = {
                $index: null,
                view: [],
                data: []
            };

在我的ChildController我现在有:

   .controller('ChildController', ['$Scope',
        function ($Scope) {

            $Scope.grid.$index = null;
            $Scope.grid.view = [];
            $Scope.grid.data = [];

据我了解,这使我可以在中填充$ Scope.grid.data ChildController,还具有可以在内的$ Scope.grid.data上进行操作的函数Parent Controller

现在,我想开始使用“作为控制器”语法。因此,如果我正确理解了这一点,则需要在两个HTML页面中编写代码,例如HTML中的控制器:

<div data-ng-controller="ParentController as parent" ..

<div data-ng-controller="ChildController as child" ..

而我的父控制器是这样的:

   this.grid = {
                $index: null,
                view: [],
                data: []
            };

如果执行此操作,那么在我ChildController应该如何引用grid.view中呢?我是否以某种方式将' parent'传递ChildController,然后在我的孩子中使用:

parent.grid.view = [];

最后,我听说“作为控制器”语法是实验性的。现在已经过去了吗?

一个更好的奥利弗

只要您不更改代码,“ as”语法就不会有任何区别。

如果您更改ParentController

this.grid = {
  $index: null,
  view: [],
  data: []
};

那么您仍然需要在中提供$scope引用ChildController,但您需要添加另一个属性:

   .controller('ChildController', ['$Scope',
    function ($Scope) {

        $Scope.parent.grid.$index = null;
        $Scope.parent.grid.view = [];
        $Scope.parent.grid.data = [];

正如你可以看到它不仅是更复杂,但也把代码耦合到HTML:如果你决定你的HTML改变ParentController as someController你的ChildController休息。

因此,即使使用“ as”语法,您也希望grid成为的属性$scope

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Angular的父控制器中访问子控制器作用域?

来自分类Dev

使用Typescript时,如何从子控制器访问父控制器中的作用域函数?

来自分类Dev

如何在控制器中以角度语法获取父控制器

来自分类Dev

如何使用控制器作用域的版本来引用JS中的当前控制器?

来自分类Dev

如何在AngularJS控制器中引用/要求父控制器?

来自分类Dev

如何在指令中访问子控制器和父控制器?

来自分类Dev

如何在子控制器中更新父控制器变量

来自分类Dev

如何在Angular JS的子控制器中访问父控制器数据

来自分类Dev

如何在指令中访问子控制器和父控制器?

来自分类Dev

AngularJS嵌套ng-repeat我如何从父控制器中引用子作用域?

来自分类Dev

使用“ controller As”和IIFE时如何从子控制器访问父作用域?

来自分类Dev

EmberJS:在父级中访问子控制器功能

来自分类Dev

在子控制器中访问父控制器

来自分类Dev

使用“ controller as”语法时,如何访问控制器中的“ this”?

来自分类Dev

在子指令中访问父指令的控制器作用域变量

来自分类Dev

在子指令中访问父指令的控制器作用域变量

来自分类Dev

$ http请求父级到子级控制器

来自分类Dev

如何让子控制器访问父控制器中的功能

来自分类Dev

AngularJS:如何在Javascript文件中访问父级的命名控制器,反之亦然?

来自分类Dev

无法访问父控制器作用域(AngularJS)

来自分类Dev

如何在父控制器中访问指令的对象?

来自分类Dev

如何在父控制器中访问指令的对象?

来自分类Dev

iOS-具有对父视图控制器的“强大”引用的子视图控制器

来自分类Dev

如何在cakephp3中的子控制器中传递父ID的值

来自分类Dev

回到父级后,如何保留子级视图控制器(容器实现)?

来自分类Dev

回到父级后,如何保留子级视图控制器(容器实现)?

来自分类Dev

如何在角度单元测试中从指令而不是控制器模拟作用域

来自分类Dev

如何在控制器规范中添加类似作用域的方法

来自分类Dev

如何在angularjs的子模块中引用控制器

Related 相关文章

  1. 1

    如何在Angular的父控制器中访问子控制器作用域?

  2. 2

    使用Typescript时,如何从子控制器访问父控制器中的作用域函数?

  3. 3

    如何在控制器中以角度语法获取父控制器

  4. 4

    如何使用控制器作用域的版本来引用JS中的当前控制器?

  5. 5

    如何在AngularJS控制器中引用/要求父控制器?

  6. 6

    如何在指令中访问子控制器和父控制器?

  7. 7

    如何在子控制器中更新父控制器变量

  8. 8

    如何在Angular JS的子控制器中访问父控制器数据

  9. 9

    如何在指令中访问子控制器和父控制器?

  10. 10

    AngularJS嵌套ng-repeat我如何从父控制器中引用子作用域?

  11. 11

    使用“ controller As”和IIFE时如何从子控制器访问父作用域?

  12. 12

    EmberJS:在父级中访问子控制器功能

  13. 13

    在子控制器中访问父控制器

  14. 14

    使用“ controller as”语法时,如何访问控制器中的“ this”?

  15. 15

    在子指令中访问父指令的控制器作用域变量

  16. 16

    在子指令中访问父指令的控制器作用域变量

  17. 17

    $ http请求父级到子级控制器

  18. 18

    如何让子控制器访问父控制器中的功能

  19. 19

    AngularJS:如何在Javascript文件中访问父级的命名控制器,反之亦然?

  20. 20

    无法访问父控制器作用域(AngularJS)

  21. 21

    如何在父控制器中访问指令的对象?

  22. 22

    如何在父控制器中访问指令的对象?

  23. 23

    iOS-具有对父视图控制器的“强大”引用的子视图控制器

  24. 24

    如何在cakephp3中的子控制器中传递父ID的值

  25. 25

    回到父级后,如何保留子级视图控制器(容器实现)?

  26. 26

    回到父级后,如何保留子级视图控制器(容器实现)?

  27. 27

    如何在角度单元测试中从指令而不是控制器模拟作用域

  28. 28

    如何在控制器规范中添加类似作用域的方法

  29. 29

    如何在angularjs的子模块中引用控制器

热门标签

归档