我正在使用angularjs构建某种模板设计工具。除了这个小问题,一切都很好。
我使用[[和]]作为开始和结束符号;
function($interpolateProvider) {
$interpolateProvider.startSymbol('[[');
$interpolateProvider.endSymbol(']]');
}
在控制器中我有类似
的东西$scope.style.title_color = '#ff0000';
当我像这样生成预览时
<h1 class="title" style="color:[[style.title_color]];">Preview Title</h1>
一切正常。但我需要像这样的东西
<style>
h1.title { color: [[style.title_color]] }
</style>
<h1 class="title">
Preview Title
</h1>
它不起作用..
任何想法为什么?
答案 0 :(得分:2)
这可能是范围界定的问题。 <style>
标记位于与$scope.style.title_color
相同的控制器范围内吗?
编辑: 我不相信Angular适用于Style标签。你应该使用ng风格。
因此,您的$scope
变量如下所示:$scope.style.title_color = '#ff0000';
,您的DOM元素如下所示:<h1 ng-style="{color: style.title_color}">hello</h1>