gpt4 book ai didi

javascript - 没有 div 包装器的 Ember 模板

转载 作者:行者123 更新时间:2023-12-01 09:53:56 25 4
gpt4 key购买 nike

语义 UI(一个 HTML5 组件库)提供了 Sitebar组件,它需要在 <body> 正下方的特定页面结构.

由于 Ember 引入了 HTMLBars,它将所有模板的内容包装在另一个 <div> 中。在将其注入(inject) DOM 之前标记,例如

<div id="ember389" class="ember-view"><!-- original template's content comes here --></div>

这使得使用上述站点栏和类似组件几乎无法使用。

旧的 Ember 版本也有类似的问题,但他们的答案不再有效,如 Views已退休。 Ember 仍然提供私有(private) _MetamorphView “没有包装器的模板”的类,但除了它也已被弃用之外,我现在不知道如何将它们合并到我的 Route .

任何帮助是极大的赞赏!

最佳答案

其实并没有你想的那么难。您只需在 component 中进行一些细微的更改即可。 . (假设您使用的是 Ember 2.x 并希望将侧栏作为组件)

例如。

// app/components/side-bar.js
export default Ember.Component.extend({
classNames: ['ui', 'sidebar']
});

// app/templates/components/side-bar.hbs
{{yield}}

// usage
// app/templates/application.hbs
{{#side-bar}}
// your sidebar contents go here
{{/side-bar}}
<div class="pusher">
// Your site's actual content
{{outlet}}
</div>

如果侧边栏不必是组件,那么它会简单得多
// app/templates/application.hbs
<div class="ui sidebar">
// ...
</div>
<div class="pusher">
// Your site's actual content
{{outlet}}
</div>

编辑 - 回答评论

A sidebar can be initialized inside any element, not just a page's body.



http://semantic-ui.com/modules/sidebar.html#using-a-custom-context

关于javascript - 没有 div 包装器的 Ember 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32555952/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com