我想申请上的自定义指令标签的NG-style属性,有点像这样:
<my-directive ng-style="myStyle"></my-directive>
在控制器内,我有:
$scope.myStyle = {
"background": "red"
}
这似乎并没有工作,虽然。 当我检查HTML“myStyle的”没有得到呈现。 当我申请定期DIV相同NG式标签也无法正确显示。
为什么不NG-风格的自定义指令标签的工作?
我想申请上的自定义指令标签的NG-style属性,有点像这样:
<my-directive ng-style="myStyle"></my-directive>
在控制器内,我有:
$scope.myStyle = {
"background": "red"
}
这似乎并没有工作,虽然。 当我检查HTML“myStyle的”没有得到呈现。 当我申请定期DIV相同NG式标签也无法正确显示。
为什么不NG-风格的自定义指令标签的工作?
你的指令有可能定义一个分离范围: scope: { ... }
在这种情况下,该元素上定义的所有指令将使用分离范围。 因此,吴式将寻找物业myStyle
在隔离范围,这不存在。
以上,灰线显示$父母,虚线表示原型继承。 范围004是您的分离范围。 范围003是你的控制器范围。 NG-风格将寻找myStyle
范围004,找不到的话,那么它会按照虚线和范围寻找它,而不是在那里找到它的。
通常情况下,你不希望使用创建具有相同元素的其他指令沿分离范围的指令。 您有几种选择:
scope: true
,而不是在你的指令的分离范围。 然后,当NG-风格看起来为myStyle
范围004和没有找到它,它会然后按照虚线(如下图),发现它在父范围: ng-style="$parent.myStyle"
在你的HTML访问myStyle
父作用域属性(即按照第一张照片的灰线)。