我想创建一个in-repo插件,以封装的方式对现有的ember应用程序进行某些修改(样式,模板等),但是我在覆盖模板方面遇到了麻烦。
现在,我尝试使用in-repo插件中具有相同名称的组件中的模板覆盖现有组件模板。我的代码看起来像这样:
// my-app/app/templates/components/foo.hbs
<h1>Some headline<h1>
// my-app/app/lib/my-addon/app/templates/components/foo.hbs
<h1>A different headline<h1> // -> this never shows up
&#13;
我尝试过很多切换模板结构(比如将它放在/addons
或/app
中并以不同的方式链接到模板,但没有成功。我的问题是ember从不使用插件中的模板。
如果插件中的组件有不同的名称,例如foobar.hbs
,我可以毫无问题地调用它。
我目前正在查看源代码和文档,试图理解这一点。这甚至可以按照我的想象完成吗?
非常感谢!
答案 0 :(得分:0)
您必须在您的余烬应用中创建该组件,该组件最初将意味着该组件呈现为什么,因为它是一个全新的空组件。然后,您需要深入了解node_modules
,找到组件文件和模板,然后复制您需要使用的内容。
这是一个例子。在使用ember-cli-jsonapi-pagination
时,我需要自定义paginate-collection
组件:
components/paginate-collection/component.js
我复制了组件代码,但您也应该可以将其导入。components/paginate-collection/template.hbs
我根据需要修改了模板。