gpt4 book ai didi

javascript - AngularJS:指令没有从范围中获取 Controller 的变量

转载 作者:行者123 更新时间:2023-11-30 17:59:35 24 4
gpt4 key购买 nike

我有一个元素,它有一个 Controller 和一个应用了隔离作用域的指令:

scope: {
dirVar: '='
}

目标是仅当变量为真时才运行指令的某些部分。我在 Controller 中设置该变量并尝试通过 attr 将其传递到指令中。

问题是当我做类似的事情时

<div ng-controller="MyCtrl" my-directive active="ctrlVar"></div>

并尝试在带有 scope.active 的指令中获取 active,它总是未定义。

这是一个例子:http://jsfiddle.net/u3t2u/1/

关于为什么或如何正确执行此操作的任何解释?我认为问题出在 Controller 和指令应用于同一元素并希望解决这个问题。

另一种选择是删除指令的隔离范围并让它评估传递给它的 attr,但我不确定该怎么做($parse 不断抛出错误)。

最佳答案

那是因为你的指令不在 Controller 内部。试试这个:

<div ng-app="myApp">
<div ng-controller="MyCtrl">
<div my-directive="" active="myValue">
Testing.
</div>
</div>
</div>

关于javascript - AngularJS:指令没有从范围中获取 Controller 的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17356327/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com