如何创建一个指令让我访问内联样式标记中的$ scope对象?Angular inline CSS
我需要的是像这样:
<style>
p {
font-size: {{userSetting.fontSize}}
margin: {{userSetting.margin}}
}
</style>
我已经开始为它的指令工作,但无法弄清楚如何创建它。
如何创建一个指令让我访问内联样式标记中的$ scope对象?Angular inline CSS
我需要的是像这样:
<style>
p {
font-size: {{userSetting.fontSize}}
margin: {{userSetting.margin}}
}
</style>
我已经开始为它的指令工作,但无法弄清楚如何创建它。
所以...虽然我不认为这是一个好主意。你可以用一个指令完成它:
<ng-style-definition>
h1 {
color: {{h1.color}};
}
</ng-style-definition>```
app.directive('ngStyleDefinition', function($timeout){
return {
restrict: 'E',
replace: true,
transclude: true,
template: '<style ng-transclude></style>',
link: function(scope, element, attr){
$timeout(function(){
element.html(element.children().text())
}, 0)
}
}
})
你可以得到一个小吸尘器将在$解析或$插值服务,但多数民众赞成它的要点。
几个例子可以看这里:http://plnkr.co/edit/eqmFho55YckE5wmYHdJB?p=preview
谢谢 - 我会将其标记为正确的答案,因为它会将我引向正确的道路。为什么它不是一个好主意?其背后的逻辑是用户可以设计自己的页面,并且使用内联样式来实现它。我认为这会比在元素本身上创建样式要快,例如ngStyle – n83
我想这确实取决于应用程序的上下文。 –
好像你正在寻找在错误的方向,你可以操纵的DOM而不是CSS类,你应该薄添加和移除类元素的条款在DOM –
内联样式是自定义的,并且由用户决定,因此它可以是边距:10px或边距:55px - 这取决于用户。这就是为什么我需要让他们内联而不是上课。 – n83