我正在制作一个插件。我尝试使用偏。在我的 addon / templates / components / form.hbs 中,我得到了{{partial "pane"}}
。我的 _pane.hbs 在addon / templates 文件夹中是,但是ember无法找到它:
未捕获错误:断言失败:无法找到名称为“窗格”的部分。
我还尝试将 _pane.hbs 放在插件/模板/组件中,但没有运气。我应该把它放在哪里被灰烬拿走?
答案 0 :(得分:7)
正如前面提到的here,Ember CLI中的所有内容都被删除了。使用短划线而不是下划线。
另外,我认为partial
帮助程序从templates
目录开始解析。如果您想将部分存储在components
目录中,您可能必须明确说明。
所以你的文件应该命名为:
addon/templates/components/-pane.hbs
你的电话应该是这样的:
{{partial 'components/pane'}}
答案 1 :(得分:2)
addon/templates
下的模板未包含在标准Ember构建链中,标准Ember解析程序找不到它们。这就是您必须手动导入模板并将其指定为组件中的布局的原因。
如果您想在插件中使用部分内容,则必须将其放在app/templates
下。这是不可取的,但不仅部分不会使用您的插件模板预编译,它将污染根应用程序的模板命名空间。
即将推出的版本的ember-cli可能会解决这个问题,插件即将发生重大变化。
答案 2 :(得分:0)
如果您希望应用程序访问插件中的内容,则需要将它们放在app目录而不是addon目录中。每个插件的app目录都与用户app目录合并。
通常你的所有逻辑都存在于addon目录中,你只需导入然后导出app目录中的每个项目(app目录非常愚蠢,只包含一个导出列表)...但是模板然而我是'我不知道怎么可能呢?
您可以尝试使用addon / templates / _partial.hbs然后在app / templates / _partial.js中导入它,但我又不确定这是否有效..如果这不起作用,请参阅如果把它放在app / templates / _partial.hbs中