首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态更改Ember中的CSS类

动态更改Ember中的CSS类
EN

Stack Overflow用户
提问于 2018-04-25 01:42:06
回答 2查看 1.5K关注 0票数 3

超级,超级新的安博,所以道歉,如果这是直接的。我想知道动态更改组件中呈现的CSS类中属性的最佳方法。

我做了一个组件,就像这样:

代码语言:javascript
复制
//route_template.hbs
{{map-view point=model}}

我通过point,它有两个坐标属性:model.xCoordinatemodel.yCoordinate

这是我的组件模板。您可以看到,我目前正在使用这种hacky内联样式来为页面上的点位置设置样式:

代码语言:javascript
复制
//component_template.hbs
{{#each point as |mapPoint|}}
   <i class="point-icon" style={{html-safe (concat 'left:' mapPoint.xCoordinate 'px; top:' mapPoint.yCoordinate 'px;')}}></i>
{{/each}}

我知道:恶心。有更好的方法吗?我应该做把手吗?行动?如果有人能把我引向总方向,我就可以从那里接下去。非常感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-25 10:50:55

看看我的答案,here

也许你要找的就是ember-css-properties。另一个选项是帮助程序或计算属性。

助手可以提供此API:

代码语言:javascript
复制
<i class="point-icon" style={{build-css
  left=(concat mapPoint.xCoordinate 'px')
  top=(concat mapPoint.yCoordinate 'px')
}}></i>

在默认情况下,甚至假定为px

代码语言:javascript
复制
<i class="point-icon" style={{build-css
  left=concat mapPoint.xCoordinate
  top=concat mapPoint.yCoordinate
}}></i>

如果要使用计算属性,可以在模板中执行以下操作:

代码语言:javascript
复制
<i class="point-icon" style={{myComputedStyle}}></i>

这是你的风格

代码语言:javascript
复制
myComputedStyle: computed('mapPoint.{xCoordinate,yCoordinate}', {
  get() {
    return htmlSafe(`
      left: ${xCoordinate}px;
      top: ${yCoordinate}px;
    `);
  }
}),

小心:对于所有这些内容(ember-css-properties除外),您需要理解其含义:

如果用户可以将mapPoint.xCoordinate mapPoint.yCoordinate 操作到意想不到的值,您可能会打开一个安全漏洞!

票数 2
EN

Stack Overflow用户

发布于 2018-04-25 02:22:45

您不需要在concat类型元素中使用<>助手。你可以这样做

代码语言:javascript
复制
<i class="point-icon" style="left: {{mapPoint.xCoordinate}}px; top: {{mapPoint.yCoordinate}}px;"></i>

但是对于{{}}块,您需要使用concat

代码语言:javascript
复制
{{my-component style=(concat 'left: ' mapPoint.xCoordinate 'px; top: ' mapPoint.yCoordinate 'px;')}}

此外,如果我是正确的,您只需要做html安全,如果您有标记在您的字符串。

请参阅escaping-html-content

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50012865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档