我正在尝试创建一个简单的Ember.js应用程序,以了解有关JavaScript MVC框架的更多信息。但是,似乎不可能将CSS样式应用于视图模板(或者更确切地说,我不知道正确的方法):
没有模板
<span class="myClass">
Some value
</span>
在这种情况下,样式会按预期正确显示。
使用模板
<span class="myClass">
<script type="text/x-handlebars>
{{MyApp.someVariable}}
</script>
</span>
在这种情况下,似乎根本没有应用样式。
我甚至尝试了类似的事情:
<script type="text/x-handlebars>
{{MyApp.someVariable classToAdd="myClass"}}
</script>
这会产生更奇怪的输出(我甚至无法在Chrome开发人员元素标签中找到该元素)。
在线教程没有提到这个问题,我已经尝试过研究其他Stackoverflow问题(有一些关于应用样式但不完全像在这种情况下)。任何人都可以告诉我我做得不好吗?
答案 0 :(得分:1)
我通常使用Ember Views的ClassNames和classNameBindings属性。这大部分时间都可以完成工作。
您也可以尝试使用Ember布局属性来包装模板。
答案 1 :(得分:0)
在jquery的append()文档中找到了这个问题的答案 您需要使用jQuery将文本转换为html:
template = Handlebars.compile(..);
html = template(json);
$('body').append($(html)); // <- don't forget to wrap it