【问题标题】:Applying CSS styles to ember.js handlebars template将 CSS 样式应用于 ember.js 车把模板
【发布时间】:2012-11-17 17:44:39
【问题描述】:

我正在尝试创建一个简单的 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 问题(有一些关于应用样式的问题,但与这种情况不完全一样)。谁能告诉我我做的不对吗?

【问题讨论】:

  • 您的type 属性缺少双引号,它们可能需要某种id 以便Ember 可以找到它们。您是说模板在填充并转换为 HTML 后没有设置样式?
  • 我在实际代码中确实有双引号,只是在复制到 stackoverflow 时错过了它。你是对的,模板在填充了真实值并转换为 HTML 之后没有被设置样式。
  • 显然,您必须将
  • 您可以回答自己的问题并接受自己的回答,不过您可能需要稍等片刻才能接受。

标签: ember.js handlebars.js


【解决方案1】:

我通常使用 Ember 视图的 ClassNames 和 classNameBindings 属性。大部分时间都能完成工作。

您也可以尝试 Ember 布局属性来包装模板。

【讨论】:

    【解决方案2】:

    在 jquery 的 append() 文档中找到了这个问题的答案 您需要使用 jQuery 将文本转换为 html:

    template = Handlebars.compile(..);
    html = template(json);
    $('body').append($(html)); // <- don't forget to wrap it
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-07
      • 1970-01-01
      • 2019-04-17
      • 2023-03-20
      • 1970-01-01
      • 2022-11-04
      • 2013-10-11
      • 1970-01-01
      相关资源
      最近更新 更多