如何創建一個指令讓我訪問內聯樣式標記中的$ 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