如何从另一个控制器中的指令访问作用域

普罗米修斯

我需要一些帮助来了解如何$scope.imageUpload.image_file在firstCtr控制器中进行访问

我有以下标记:

HTML:

<div ng-controller="firstCtr">
 <div image-upload></div>
</div>

imageload指令创建一个新的作用域$scope.imageUpload.image_file,它可以正常工作。

   .directive('imageUpload', function () {
    // Directive used to display a badge.
    return {
        restrict: 'A',

        replace: true,
        templateUrl: "/static/html/partials/directives/imageToolsUpload.html",
        controller: function ($scope) {
           $scope.onImageSelect = function ($files) {
               console.log( $scope.project);
                $scope.imageUpload = {};
                $scope.imageUpload.image_file =  $files[0];
        };
        }
    }
});

但是,当我尝试在firstCtr中获取范围$ scope.imageUpload.image_file时,它是未定义的。

 .controller("firstCtr", ['$scope', '$rootScope', "$location", etc.....

           $scope.actionClick = function () {
                 console.log($scope.imageUpload)
            }

我可以使用rootscope做到这一点,但这似乎是一个坏主意。有没有更好的方法可以将此范围传递回去?

Sboisse

有几种方法可以做到这一点。

一种方法是在imageUpload指令中,在父作用域中注入一个属性,以便该父作用域的控制器可以访问它并执行与它有关的操​​作。因此,在您的imageUpload指令控制器函数中:

$scope.$parent.imageUpload = {};
$scope.$parent.image_File = $files[0];

对于更强大的解决方案,我可能会require在imageUpload指令中使用关键字,因此它可以可靠地访问firstCtr控制器并在其中设置属性。

.directive('imageUpload', function () {
    // Directive used to display a badge.
    return {
        restrict: 'A',
        require: 'firstCtr'
        replace: true,
        templateUrl: "/static/html/partials/directives/imageToolsUpload.html",
        controller: function ($scope, element, attrs, firstCtr) {
           $scope.onImageSelect = function ($files) {
               console.log( $scope.project);
               firstCtr.imageUpload = {};
               firstCtr.imageUpload.image_file =  $files[0];
        };
        }
    }
});

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从另一个控制器的作用域访问在一个控制器中定义的变量?

来自分类Dev

如何访问另一个控制器动作中的一个控制器动作?

来自分类Dev

AngularJS指令,可以编译另一个可以访问父控制器的指令

来自分类Dev

如何从另一个控制器访问另一个控制器的动作

来自分类Dev

如何在控制器中访问另一个模型中的角度模型?

来自分类Dev

使用AngularJS中的“作用域”从另一个控制器调用一个控制器的方法

来自分类Dev

如何从另一个控制器访问需求控制器?

来自分类Dev

测试是否已在控制器中调用了另一个作用域的方法

来自分类Dev

在Rails中访问另一个控制器中的一个控制器变量

来自分类Dev

如何从一个控制器访问变量到另一个控制器

来自分类Dev

EXTjs从另一个控制器访问一个控制器中的数据集

来自分类Dev

从没有rootScope的另一个控制器更改已经加载的控制器中的作用域值

来自分类Dev

如何从控制器动作中调用另一个控制器动作?

来自分类Dev

从另一个控制器访问变量

来自分类Dev

在另一个模块的指令内引用的模块中定义的控制器

来自分类Dev

如何使用Swift访问另一个视图控制器中的一个视图控制器的IBoutlet?

来自分类Dev

如何从ember.js中的另一个控制器更新一个控制器?

来自分类Dev

如何在另一个控制器的方法中调用一个控制器的方法

来自分类Dev

从同一控制器Angularjs中的另一个方法访问$ scope变量

来自分类Dev

从AngularJS中另一个文件中的控制器访问服务

来自分类Dev

在Laravel 4中访问另一个控制器中的功能

来自分类Dev

在Laravel 4中访问另一个控制器中的功能

来自分类Dev

从AngularJS中另一个文件中的控制器访问服务

来自分类Dev

在MVC控制器中重定向到另一个不起作用的控制器

来自分类Dev

如何从Flutter中的另一个小部件访问状态小部件动画控制器?

来自分类Dev

如何从另一个视图控制器访问按钮?

来自分类Dev

如何从另一个Rails控制器访问方法

来自分类Dev

访问控制器从另一个控制器计算的属性

来自分类Dev

访问另一个控制器上的控制器范围

Related 相关文章

  1. 1

    如何从另一个控制器的作用域访问在一个控制器中定义的变量?

  2. 2

    如何访问另一个控制器动作中的一个控制器动作?

  3. 3

    AngularJS指令,可以编译另一个可以访问父控制器的指令

  4. 4

    如何从另一个控制器访问另一个控制器的动作

  5. 5

    如何在控制器中访问另一个模型中的角度模型?

  6. 6

    使用AngularJS中的“作用域”从另一个控制器调用一个控制器的方法

  7. 7

    如何从另一个控制器访问需求控制器?

  8. 8

    测试是否已在控制器中调用了另一个作用域的方法

  9. 9

    在Rails中访问另一个控制器中的一个控制器变量

  10. 10

    如何从一个控制器访问变量到另一个控制器

  11. 11

    EXTjs从另一个控制器访问一个控制器中的数据集

  12. 12

    从没有rootScope的另一个控制器更改已经加载的控制器中的作用域值

  13. 13

    如何从控制器动作中调用另一个控制器动作?

  14. 14

    从另一个控制器访问变量

  15. 15

    在另一个模块的指令内引用的模块中定义的控制器

  16. 16

    如何使用Swift访问另一个视图控制器中的一个视图控制器的IBoutlet?

  17. 17

    如何从ember.js中的另一个控制器更新一个控制器?

  18. 18

    如何在另一个控制器的方法中调用一个控制器的方法

  19. 19

    从同一控制器Angularjs中的另一个方法访问$ scope变量

  20. 20

    从AngularJS中另一个文件中的控制器访问服务

  21. 21

    在Laravel 4中访问另一个控制器中的功能

  22. 22

    在Laravel 4中访问另一个控制器中的功能

  23. 23

    从AngularJS中另一个文件中的控制器访问服务

  24. 24

    在MVC控制器中重定向到另一个不起作用的控制器

  25. 25

    如何从Flutter中的另一个小部件访问状态小部件动画控制器?

  26. 26

    如何从另一个视图控制器访问按钮?

  27. 27

    如何从另一个Rails控制器访问方法

  28. 28

    访问控制器从另一个控制器计算的属性

  29. 29

    访问另一个控制器上的控制器范围

热门标签

归档