Ember组件什么是布局以及如何编写功能?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ember组件什么是布局以及如何编写功能?相关的知识,希望对你有一定的参考价值。

我创建了一个组件,它将输出提供为:

import Ember from 'ember';
import layout from '../templates/components/sample-work';

export default Ember.Component.extend({
  layout
});

当我尝试添加一些init方法,如:

import Ember from 'ember';
import layout from '../templates/components/sample-work';

export default Ember.Component.extend({
  layout,
  init(){
    alert.log('hi');
  }
});

我的组件根本没有被调用。这是什么问题?在这里处理组件的正确方法是什么?

答案

通常你不需要layout文件中的js;因为ember是一个固定的框架,它通常将组件的jshbs文件放到默认情况下它们可以自动匹配的位置:js放在components下,hbs文件放在templatescomponents下。

如果;您将模板文件放到js文件无法直接使用的位置,您需要导入布局。看看我为你准备的simple twiddle。在这个旋风; my-component2的模板文件需要在相应的layout文件中作为js字段导入。

另一答案

你应该总是在init函数中调用this._super(...arguments)

以上是关于Ember组件什么是布局以及如何编写功能?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Ember CLI 应用程序中访问 Ember 全局“App”变量?

vue中如何编写可复用的组件?

在Android中,如何将数据从类传递到相应的布局/片段文件?

如何在 Ember 中使用 jsTree 插件

什么是 Ember RunLoop,它是如何工作的?

如何以及何时使用 Ember.Application 注册和注入方法?