Angularjs 从子指令中的父指令访问值
我有以下标记:Angularjs 从子指令中的父指令访问值,angularjs,Angularjs,我有以下标记: <div parent="john"> <div child>Child 1 </div> <div child>Child 2</div> </div> 如何创建父指令(其中设置了值,例如John)并在子指令上访问父指令值?使用隔离作用域为您的子指令定义双向绑定。参考文献: 隔离范围在子项中定义为: return { scope: { attName: '=' },
<div parent="john">
<div child>Child 1 </div>
<div child>Child 2</div>
</div>
如何创建父指令(其中设置了值,例如John)并在子指令上访问父指令值?使用
隔离作用域
为您的子指令定义双向绑定。参考文献:
隔离范围
在子项
中定义为:
return {
scope: {
attName: '='
},
// ... others
};
将子项用作:
值parentVar
是父级范围内的一个值。当在父项
中更改此值时,该值将通过角度传播到子项
======================
根据请求,这里有一个示例:使用隔离作用域
为您的子指令定义双向绑定。参考文献:
隔离范围
在子项
中定义为:
return {
scope: {
attName: '='
},
// ... others
};
将子项用作:
值parentVar
是父级范围内的一个值。当在父项
中更改此值时,该值将通过角度传播到子项
======================
根据请求,这里有一个示例:您可以要求指令,然后访问父控制器:
angular.module("app").directive("child", child);
function child($parse) {
var child = {
require: '^parent',
link: link,
replace: false,
restrict: "A"
};
return child;
function link(scope, element, attributes, parentCtrl) {
//Here you have access to the parent controller
}
}
您可以要求指令,然后访问父控制器:
angular.module("app").directive("child", child);
function child($parse) {
var child = {
require: '^parent',
link: link,
replace: false,
restrict: "A"
};
return child;
function link(scope, element, attributes, parentCtrl) {
//Here you have access to the parent controller
}
}
对不起,我不知道你在说什么。你能给我举个更完整的例子吗?谢谢。我不希望将att名称设置为子级,因为该值将始终是父级中的值。我可以有很多孩子。。。因此,更改父级将迫使我更改所有代码。我真的希望child只在parent存在并且值总是取自parent时才工作。实际上,我从注释中没有理解您的意思。这个答案是针对你在问题中提出的问题。您可能想探索更多的指令选项。我相信对于您的场景有一些解决方案。我试图按照您的示例进行操作,但我仍然在child上得到未定义的值。请你看看我的例子。我遗漏了什么?你为什么不把你的和我的比较一下?对不起,我不知道你在说什么。你能给我举个更完整的例子吗?谢谢。我不希望将att名称设置为子级,因为该值将始终是父级中的值。我可以有很多孩子。。。因此,更改父级将迫使我更改所有代码。我真的希望child只在parent存在并且值总是取自parent时才工作。实际上,我从注释中没有理解您的意思。这个答案是针对你在问题中提出的问题。您可能想探索更多的指令选项。我相信对于您的场景有一些解决方案。我试图按照您的示例进行操作,但我仍然在child上得到未定义的值。请你看看我的例子。我遗漏了什么?你为什么不把你的和我的比较一下呢?检查这个检查这个我试过了,但没能成功。你能看一下我的在线示例吗?我试过了,但没能成功。你能看一下我的在线示例吗?