angularjs – 具有隔离和非隔离示波器的指令内部内容
发布时间:2020-12-17 08:08:26 所属栏目:安全 来源:网络整理
导读:我发现范围相当奇怪的行为:指令内容的真实类型: body ng-init="x=10" mydir {{x}} /mydir /body 所以{{x}}是内容,指令定义是: .directive('mydir',function() { return { scope: {},link: function(scope){ scope.x = 5; } };}); 当我们将scope定义为iso
我发现范围相当奇怪的行为:指令内容的真实类型:
<body ng-init="x=10"> <mydir> {{x}} </mydir> </body> 所以{{x}}是内容,指令定义是: .directive('mydir',function() { return { scope: {},link: function(scope){ scope.x = 5; } }; }); 当我们将scope定义为isolation(scope:{})时,它将{{x}}输出为10,因此使用外部作用域。但是当我们为该指令(scope:true)创建新的范围时,它将使用它作为内容和输出5.因此,内部内容使用不同的范围2种情况。有人可以给我一个提示/链接来代码/手册解释这个不一致吗? 这是plnk玩代码。 UPD:我明白什么是JavaScript原型继承。我知道指令范围类型之间的区别。而我的目的不是显示5而不是10。问题是关于内部模板,在这两种情况下都应该使用父范围进行内插,该范围不能访问child / isolated的属性。
在您的原始代码段中,{{x}}不属于< mydir>。您应该为该指令定义一个模板。
// js .directive('mydir',function() { return { template: '{{x}}',scope: {},link: function(scope){ scope.x = 5; } }; }); // html <body ng-init="x=10"> <mydir></mydir> </body> 这是the preview (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- docker备份与迁移
- angular – tslint的含义是什么:“警告:”no-use-before-
- bash – 如果没有提供选项,有getopts显示帮助
- scala – 错误:无效或损坏jarfile sbt / sbt-launch-0.13.
- 在不使用领事的情况下在码头工具中发现服务
- scala – Python:将pandas数据框保存到镶木地板文件中
- rails 使用bootstrap及bootswatch
- angular6 – 如何在角度模板驱动的表单模型中使用fieldset表
- scala – 构建一个火花流示例应用程序
- typescript – angular 2和template:未终止的字符串litera