Angularjs 另一个指令和传递属性的templateUrl中的指令
我有两个指令,我试图在另一个指令的templateUrl中使用某些属性调用一个指令,但是我无法在第二个指令中获得编译后的属性值。代码如下: 第一条指令Angularjs 另一个指令和传递属性的templateUrl中的指令,angularjs,angularjs-directive,angularjs-scope,angular-directive,Angularjs,Angularjs Directive,Angularjs Scope,Angular Directive,我有两个指令,我试图在另一个指令的templateUrl中使用某些属性调用一个指令,但是我无法在第二个指令中获得编译后的属性值。代码如下: 第一条指令 app.directive('myDir', function() { return { link: function(scope, element, attrs, controller) { scope.myVal='hello'; }, templateUrl: 'directive1.h
app.directive('myDir', function() {
return {
link: function(scope, element, attrs, controller) {
scope.myVal='hello';
},
templateUrl: 'directive1.html',
scope: {}
}
app.directive('childDir', function() {
return {
templateUrl: template(element,attrs) {
alert(attrs.attrval);
},
scope: {}
}
directive.html
<div>
<child-dir attrval="{{myVal}}"></child-dir>
<div>
这里,attrs.attrval是这样来的{{myVal}。
但是我想要值hello。有人能帮我吗?
请注意以下两点:
1) 我正在使用templateUrl。
2) 我正在将范围变量的值作为属性传递给child指令。我遇到了同样的问题,最终找到了解决方案(可能不是最好的,但它对我有效)。你的例子和我的有点不同,但我认为在你的例子中: 父指令和directive.html相等,但子指令:
app.directive('childDir', function() {
return {
templateUrl: template(element,attrs) {
attrs.$observe("attrval", function(){
alert(attrs.attrval);
});
},
scope: {}
}
当在父指令中设置模板时,该值尚未设置,但子指令正在尝试使用它。使用“观察”,子指令可以在实际设置attrval时强制刷新
如果不适用于您,请告诉我,我将发布部分代码,以防有用。可能重复的代码是的,它类似,但不重复。您展示的示例没有以下内容:1)templateUrl 2)属性中传递的值。有人能帮忙吗???这不是100%重复,因为这是一个没有附加属性/模型/范围的“简单”指令。这里的问题是关于有一个带有attribute的child指令。我也有同样的问题,你解决了吗(