Ember component 什么是layout,函数怎么写?
Ember component what is layout and how to write the functions?
我创建了一个组件,它的输出为:
import Ember from 'ember';
import layout from '../templates/components/sample-work';
export default Ember.Component.extend({
layout
});
当我尝试添加一些初始化方法时:
import Ember from 'ember';
import layout from '../templates/components/sample-work';
export default Ember.Component.extend({
layout,
init(){
alert.log('hi');
}
});
我的组件根本没有被调用。这里有什么问题?此处处理组件的正确方法是什么?
通常您不需要 js
文件中的 layout
;因为ember
是一个自以为是的框架,它通常会把组件的js
和hbs
文件放在默认可以自动匹配的地方:js
放在[=16下面=] 和 hbs
文件放在 templates\components
.
下
以防万一;您将模板文件放到无法直接用于 js
您需要导入布局的文件的地方。看看我为你准备的simple twiddle。在这玩意儿里; my-component2
的模板文件需要导入为相应 js
文件中的 layout
字段。
您应该始终在初始化函数中调用 this._super(...arguments)
我创建了一个组件,它的输出为:
import Ember from 'ember';
import layout from '../templates/components/sample-work';
export default Ember.Component.extend({
layout
});
当我尝试添加一些初始化方法时:
import Ember from 'ember';
import layout from '../templates/components/sample-work';
export default Ember.Component.extend({
layout,
init(){
alert.log('hi');
}
});
我的组件根本没有被调用。这里有什么问题?此处处理组件的正确方法是什么?
通常您不需要 js
文件中的 layout
;因为ember
是一个自以为是的框架,它通常会把组件的js
和hbs
文件放在默认可以自动匹配的地方:js
放在[=16下面=] 和 hbs
文件放在 templates\components
.
以防万一;您将模板文件放到无法直接用于 js
您需要导入布局的文件的地方。看看我为你准备的simple twiddle。在这玩意儿里; my-component2
的模板文件需要导入为相应 js
文件中的 layout
字段。
您应该始终在初始化函数中调用 this._super(...arguments)