我试着用emberJS为我的应用程序创建一个自定义组件,我已经按照快速入门教程学习了,现在我试着创建一个上传按钮作为组件。
看起来我没有代码问题,但是我的组件不能呈现在我的主页上。我使用了ember组件生成器来创建它
这是我上传按钮。hbs:
<button type="button">{{@buttonText}}</button>
现在我的上传按钮. js:
import Component from '@ember/component';
export default Component.extend({
actions: {
showExplorer(){
alert()
}
}
});
目前我只是将一个alert()
方法放在showExplorer()
中
现在是我主页,应用程序。hbs:
<upload-button @buttonText="Uploader un fichier" {{action "showExplorer"}}/>
{{outlet}}
我希望看到我的按钮,但我只是有一个空白页,没有代码错误。
我怀疑这是个愚蠢的错误,但我找不到。
1条答案
按热度按时间3pvhb19x1#
很高兴你决定试用Ember.js:)你的
upload-button.hbs
和upload-button.js
文件看起来不错。但是,这里有几个问题。<... />
)调用该组件时,名称应该是CamelCased以区分HTML标记和Ember组件。因此,我们需要将upload-button
组件调用为<UploadButton />
。showExplorer
(upload-button.js
)文件,但是,在application.hbs
文件中引用。由于组件体系结构的隔离特性,只能在组件的.hbs
文件中访问支持组件文件中的数据。此外,我们只能使用{{action}}
修饰符将一个动作附加到DOM元素上,我们需要从
application.hbs
文件中删除操作绑定,并在
upload-button.hbs
文件中添加相同的内容:工作模型可在此CodeSandbox中找到
希望你发现学习灰烬,一个有趣的过程!