淘汰的范围是否也包含在内?

姜饼

我想在其他指令中添加自定义指令。第二条指令应使用第一条指令的作用域。问题在于,第一个指令具有隔离的范围,并且显然也与第二个指令隔离,并且我认为不应,因为我使用的是transclude。

这是例子。当我评论scope: {test:"@"}所有问题时。如何解决?

angular.module("myApp", [])
            .controller("initCtrl", function ($scope) {

            });
    angular.module('myApp')
            .directive('firstDirective', ['$timeout', function ($timeout) {
                return {
                    restrict: 'E',
                    scope: {test: "@"}, //everything is OK when I comment that.
                    transclude: true,
                    template: '<div> First Directive {{myVar}} {{test}}<div ng-transclude></div></div>',
                    controller: "firstDirectiveCtrl",
                    link: function (scope, element, attributes) {

                    }
                };
            }])
            .controller("firstDirectiveCtrl", ['$scope', '$timeout', function ($scope, $timeout) {
                $scope.myVar = "Var from first directive";
                $timeout(function () {
                    $scope.myVar = "Var from first directive has changed";
                }, 1000);
            }])
            .directive('secondDirective', [function () {
                return {
                    restrict: 'E',
                    scope: false,
                    require: "^firstDirective",
                    template: '<div> Second Directive {{myVar}}</div>',
                    link: function (scope, element, attributes) {
                        //scope.myVar = "Var from second directive";
                    }
                };
            }]);
<!DOCTYPE html>
<html data-ng-app="myApp">
<head lang="en">
    <meta charset="UTF-8">
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
    <title></title>
</head>
<body>
<div ng-controller="initCtrl" class="container">
    <first-directive test="test">
        <second-directive></second-directive>
        {{myVar}} 
<br><i>no var unless I comment scope: {test:"@"} i first directive.</i>
    </first-directive>
</div>
</body>
</html>

姜饼

您可以访问$ parent scope ex。$ parent.myVar。仅在角度1.3中工作

angular.module("myApp", [])
            .controller("initCtrl", function ($scope) {

            });
    angular.module('myApp')
            .directive('firstDirective', ['$timeout', function ($timeout) {
                return {
                    restrict: 'E',
                    scope: {
                        test:"@",
                        //myVar:"="
                    },
                    transclude: true,
                    template: '<div> First Directive {{myVar}} {{test}}<div ng-transclude></div></div>',
                    controller: "firstDirectiveCtrl",
                    link: function (scope, element, attributes) {

                    }
                };
            }])
            .controller("firstDirectiveCtrl", ['$scope', '$timeout', function ($scope, $timeout) {
                $scope.myVar = "Var from first directive";
                $timeout(function () {
                    $scope.myVar = "Var from first directive has changed";
                }, 1000);
                this.getMyVar = function () {
                    return $scope.myVar;
                };
                //console.log($scope.getMyVar());
            }])
            .directive('secondDirective', [function () {
                return {
                    restrict: 'E',
                    scope: false,
                    require: "^firstDirective",
                    template: '<div> Second Directive {{$parent.myVar}}</div>',
                    link: function (scope, element, attributes, ctrl) {
                        //console.log(scope.$parent);
                        //console.log(ctrl);
//                        console.log(ctrl.myVar);
//                        console.log(ctrl.getMyVar());
                        //scope.myVar = "Var from second directive";
                    }
                };
            }]);
<!DOCTYPE html>
<html data-ng-app="myApp">
<head lang="en">
    <meta charset="UTF-8">
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js"></script>
    <title></title>
</head>
<body>
<div ng-controller="initCtrl" class="container">
    <first-directive test="test">
        {{$parent.myVar}}
        <second-directive></second-directive>
    </first-directive>
</div>
</body>
</html>

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

TLB是否包含在内?

来自分类Dev

滑轨| SQL,其中日期范围但包含在内

来自分类Dev

Android SDK:Drawable的图片是否包含在内存中?

来自分类Dev

确定UIView是否包含在屏幕范围内

来自分类Dev

在i7 CPU 860 @ 2.80GHz下,L2是否包含在内?

来自分类Dev

在2.80GHz的i7 CPU 860中,L2是否包含在内?

来自分类Dev

包含在内的Twig覆盖块

来自分类Dev

FullCalendar规则“直到”不包含在内

来自分类Dev

丰富的标签和包含在内的内容

来自分类Dev

如何使用VBA查找某个范围是否包含在另一个范围中?

来自分类Dev

与应用标题不同时,是否应将显示名称作为应用商店关键字包含在内?

来自分类Dev

检查范围是否包含在另一个函数中

来自分类Dev

如何使用Firebird DB在Delphi中查找数字是否可以包含在特定范围内?

来自分类Dev

检查范围是否包含在PQexecPrepared中损坏的值(在psql中有效)

来自分类Dev

如何使<T扩展E>泛型参数包含在内?

来自分类Dev

包含在内部的case类显式参数

来自分类Dev

未定义参考,但已链接并包含在内

来自分类Dev

包括已知已经包含在内的文件

来自分类Dev

检查文件是否包含在页面上

来自分类Dev

检测文件是否包含在Jekyll中

来自分类Dev

Scapy是否包含在Anaconda中?

来自分类Dev

确认变量是否包含在本地?

来自分类Dev

上限范围的术语“NA”未包含在模型中

来自分类Dev

为什么 .ix 包含在索引范围的末尾?

来自分类Dev

确定范围是否包含值

来自分类Dev

为何在包含在内的指令之间,角度绑定会中断?

来自分类Dev

泽西岛:mysql java.lang.ClassNotFoundException:com.mysql.jdbc.Driver尽管包含在内

来自分类Dev

Visual Studio 2015和TFS-所有排除的更改将自动包含在内

来自分类Dev

Appinvite_styles.xml:5:将Google Play服务库包含在内时发生错误

Related 相关文章

  1. 1

    TLB是否包含在内?

  2. 2

    滑轨| SQL,其中日期范围但包含在内

  3. 3

    Android SDK:Drawable的图片是否包含在内存中?

  4. 4

    确定UIView是否包含在屏幕范围内

  5. 5

    在i7 CPU 860 @ 2.80GHz下,L2是否包含在内?

  6. 6

    在2.80GHz的i7 CPU 860中,L2是否包含在内?

  7. 7

    包含在内的Twig覆盖块

  8. 8

    FullCalendar规则“直到”不包含在内

  9. 9

    丰富的标签和包含在内的内容

  10. 10

    如何使用VBA查找某个范围是否包含在另一个范围中?

  11. 11

    与应用标题不同时,是否应将显示名称作为应用商店关键字包含在内?

  12. 12

    检查范围是否包含在另一个函数中

  13. 13

    如何使用Firebird DB在Delphi中查找数字是否可以包含在特定范围内?

  14. 14

    检查范围是否包含在PQexecPrepared中损坏的值(在psql中有效)

  15. 15

    如何使<T扩展E>泛型参数包含在内?

  16. 16

    包含在内部的case类显式参数

  17. 17

    未定义参考,但已链接并包含在内

  18. 18

    包括已知已经包含在内的文件

  19. 19

    检查文件是否包含在页面上

  20. 20

    检测文件是否包含在Jekyll中

  21. 21

    Scapy是否包含在Anaconda中?

  22. 22

    确认变量是否包含在本地?

  23. 23

    上限范围的术语“NA”未包含在模型中

  24. 24

    为什么 .ix 包含在索引范围的末尾?

  25. 25

    确定范围是否包含值

  26. 26

    为何在包含在内的指令之间,角度绑定会中断?

  27. 27

    泽西岛:mysql java.lang.ClassNotFoundException:com.mysql.jdbc.Driver尽管包含在内

  28. 28

    Visual Studio 2015和TFS-所有排除的更改将自动包含在内

  29. 29

    Appinvite_styles.xml:5:将Google Play服务库包含在内时发生错误

热门标签

归档