Angularjs Can';无法理解哪个作用域将与DOM节点关联
例如,将任何控制器连接到DOM节点时Angularjs Can';无法理解哪个作用域将与DOM节点关联,angularjs,angularjs-scope,Angularjs,Angularjs Scope,例如,将任何控制器连接到DOM节点时 {{testProperty}} 控制器作用域将与此DOM节点关联。 想象另一个例子。我们创建了指令myDirective,它有自己的独立作用域。现在我们有了 <div ng-controller="myController" myDirective>{{testProperty}}</div> {{testProperty} 在这种情况下,哪个作用域将与DOM节点关联?控制器或指令的范围?最后一个例子,我们还有一个指令mysec
{{testProperty}}
控制器作用域将与此DOM节点关联。
想象另一个例子。我们创建了指令myDirective,它有自己的独立作用域。现在我们有了
<div ng-controller="myController" myDirective>{{testProperty}}</div>
{{testProperty}
在这种情况下,哪个作用域将与DOM节点关联?控制器或指令的范围?最后一个例子,我们还有一个指令mysecondirective,它有自己的独立
范围
{{testProperty}
在这种情况下,哪个作用域将与DOM节点关联?myDirective或mySecondDirective的范围?你能解释一下原因吗
{{testProperty}}
对于在单个DOM元素上定义的多个指令,您可以显式定义一个优先级:-请参见:
{{testProperty}}
在这种情况下,哪个作用域将与DOM节点关联?范围
控制器还是指令
对于在单个DOM元素上定义的控制器的$scope和指令的scope
:“transclude选项更改了作用域的嵌套方式。它使得转置指令的内容具有指令外部的任何作用域,而不是指令内部的任何作用域。在这样做的过程中,它让内容可以访问外部范围。”从angularjs文档中可以找到:
{{testProperty}}
对于在单个DOM元素上定义的多个指令,您可以显式定义一个优先级:-请参见:
{{testProperty}}
在这种情况下,哪个作用域将与DOM节点关联
控制器还是指令
对于在单个DOM元素上定义的
控制器的$scope和指令的scope
:“transclude选项更改了作用域的嵌套方式。它使得转置指令的内容具有指令外部的任何作用域,而不是指令内部的任何作用域。在此过程中,它允许内容访问外部作用域。”从这里找到的angularjs文档:谢谢,但你们都错了。正如我发现的,不可能在一个DOM节点上创建两个或多个作用域。Angular抛出此错误:
Error: [$compile:multidir] Multiple directives [pTest2, pTest] asking for new/isolated scope on: <p-test p-test2="">
错误:[$compile:multidir]多个指令[pTest2,pTest]要求在以下位置上创建新的/隔离的作用域:
谢谢,但你们都错了。我发现在一个DOM节点上不可能创建两个或多个作用域。Angular抛出以下错误:
Error: [$compile:multidir] Multiple directives [pTest2, pTest] asking for new/isolated scope on: <p-test p-test2="">
错误:[$compile:multidir]多个指令[pTest2,pTest]要求在以下位置上创建新的/隔离的作用域:
所以我发布的答案直接来自angularjs文档。也许你应该发布你的整个代码,因为你的实现可能会与其他东西发生冲突,或者你发现了一个bug,谁知道呢-而不是说“你们都错了”?哈哈。显然,如果你使用的是ng repeat
(未在您的原始帖子中显示)这可能会引起一些关注,正如这里所讨论的:您关于“您可以显式定义优先级”的说法是正确的。您可以在一个DOM节点上定义两个指令及其子范围(范围:true),但将只创建一个作用域(两者通用)。如果其中一个具有子作用域(作用域:true),而另一个具有独立作用域(作用域:{}),则不能在一个DOM节点上定义两个指令,angularjs将抛出错误。这是我的问题,我没有问指令优先级,我问如果两个指令有自己的子作用域或独立作用域,会发生什么。因此,我发布的答案直接来自angularjs文档。也许你应该发布你的整个代码,因为你的实现可能会导致与其他指令冲突或者你发现了一个bug,谁知道呢?不要说“你们都错了”?哈哈。显然,如果你使用的是ng repeat
(你的原始帖子中没有显示),这可能会引起一些问题,正如这里所讨论的:你关于“你可以明确定义优先级”的观点是正确的“。您可以在一个DOM节点上定义两个指令及其子作用域(作用域:true),但将只创建一个作用域,这两个作用域都通用。如果其中一个具有子作用域(作用域:true),而另一个具有独立作用域(作用域:{}),则无法在一个DOM节点上定义两个指令。”,angular将抛出错误。这是我的问题,我没有问指令优先级,我问如果两个指令有自己的子作用域或隔离作用域会发生什么。