这是我发现自己的一个有趣的问题和情况。这有点复杂,无法解释/复制到Stack Overflow中,所以这里有一个Plunker供你考虑:http://plnkr.co/edit/Zs8AXh6KZvTAqeBFFAK0
问题是我试图将一个属性值从一个指令传递到第一个指令模板中的另一个指令。
如果您查看Plunker示例中的template.html
,您会看到问题所在。在这种情况下,example
指令从ng-repeat
获取thing
。 thing
是index.html
中指令的属性值,它在example
指令中的隔离范围中使用。我假设一旦它具有该值,它就可以将它传递给驻留在example
模板中的子指令。这似乎不是这种情况,因为我在提醒值时得到undefined
。
您会注意到这些指令都具有隔离范围,我认为这可能会导致某个问题。
我已尝试使用=
,@
和&
进行各种不同的组合,以使其正常运行,一切都不行。仍然只是每次都未定义。
我甚至尝试使用花括号而不是以不同的方式传递值。每次似乎都不起作用。
我认为有一次我尝试使用$attrs.$observe
并且我认为这有效,但我觉得这是不必要的。 Angular IRC建议我只应将此作为“最后手段”。我觉得我还没到那儿。
为什么这不是我期待它的方式?这甚至是你应该在Angular中做的事情吗?我是以错误的方式来做这件事的吗?如果是这样,这里的正确方法是什么?
答案 0 :(得分:1)
你错误拼写了指令的属性:
somethingelse
而不是
somethingElse
您知道指令中的属性区分大小写,并且您使用驼峰大小写表示它们,而在html中它不区分大小写。
这是更新的plunker: http://plnkr.co/edit/QGS9yLpggAWuBg9Ytmp7?p=preview