我正在開發一個帶Ember CLI版本2.6.1的應用程序,我正在使用一個名爲Webix的UI庫。Ember.js - 在添加到Handlebars模板之前,我可以將組件嵌套到另一個組件中嗎?
Webix通過JavaScript生成HTML這樣的:
var accordion = webix.ui({
view:"accordion",
type:"wide",
cols:[
{ header:"col 1", body:"content 1", width:150 },
{ header:"col 2", body:"content 2", width:150 },
{ header:"col 3", body:"content 3", width:150 },
{ header:"col 4", body:"content 4", width:150 },
{ header:"col 5", body:"content 5", width:150 }
]
});
Webix導入到我的灰燼應用程序,我可以通過組件,而不是把手的JS文件中創建一個實例產生這種語法成分文件(如果我使用html,它將生活在那裏)。
像這樣:
import Ember from 'ember';
export default Ember.Component.extend({
didRender: function() {
webix.ui({
container: this.container,
height: 585,
view:"accordion",
type: "line",
rows:[
{
header:"Panel 1",
body: {
padding: 10,
rows: [
{
view:"textarea",
labelAlign:"right",
//height:150,
value: "type here"
},
{
view:"textarea",
labelAlign:"right",
//height:150,
value: "type here"
}
]
}
}
]
});
}
});
}
這工作得很好,但隨着應用的增長的複雜性,我將有一個將是不可能維持一個巨大的組件。
我想將嵌套的Webix視圖提取到它們自己的組件中,並根據需要將它們實例化。
像這樣:
我父組件在車把創建,但因爲Webix組件都有自己的築巢方法,我不能只在一個新的組件拖放:
由於組件結構通常由通過屬性傳遞的把手組成,因此如何將組件嵌套到另一個組件在它的父母加載到Handlebars之前?
Webix UI的佈局控件具有addView方法,可以實時添加行和列,因此上述方法必須真正可行。 – Aquatic