我决定在ember的canary版本中尝试使用angle-bracket组件语法。如果使用ember g component foo/bar/my-panel --pod
创建组件,如何使用尖括号语法在模板中引用它?
编辑刚发现<foo.bar.my-panel />
有效。嗯......元素语法在浏览器中运行良好吗?如果不是,还有其他选择吗?
答案 0 :(得分:1)
<foo.bar.my-panel />
是完全有效的HTML 5语法。正如VSIX指出的那样,如果自定义HTML 5元素以ascii字母开头并包含连字符,则它们是有效的。
为了在Jquery中选择这样的元素,你需要使用双反斜杠\\
来转义点.
- 见https://stackoverflow.com/a/20316213/2482265即
$('foo\\.bar\\.my-panel')
对于CSS,您可以使用单个反斜杠\
来转义点.
- 请参阅https://learn.jquery.com/using-jquery-core/faq/how-do-i-select-an-element-by-an-id-that-has-characters-used-in-css-notation/
最后,我自己会在我的组件中添加一个更简单的className,例如foo-bar-my-panel
,以保存在Jquery中选择那种方式的方法,即
$('.foo-bar-my-panel')