Sencha Touch 2:扩展XTemplate-我可以继承parents成员函数吗
Sencha Touch 2: Extending XTemplate - can I inherit parents member functions?
我想知道是否有方法访问XTemplate的成员函数集?我正在扩展一个视图,并希望覆盖XTemplate,但希望保留父XTemplate的成员函数。
这里有一个例子-我的基类:
Ext.define( 'my.view', {
xtype: 'myview',
config: {
itemTpl: new Ext.XTemplate(
[
'<p>Name: {name}</p>',
'<p>Kids: ',
'<tpl for="kids">',
'<tpl if="this.isGirl(name)">',
'<p>Girl: {name} - {age}</p>',
'</tpl>',
// use opposite if statement to simulate 'else' processing:
'<tpl if="this.isGirl(name) == false">',
'<p>Boy: {name} - {age}</p>',
'</tpl>',
'<tpl if="this.isBaby(age)">',
'<p>{name} is a baby!</p>',
'</tpl>',
'</tpl></p>'
].join( "" ),
{
// XTemplate configuration:
compiled: true,
// member functions:
isGirl: function(name){
return name == 'Sara Grace';
},
isBaby: function(age){
return age < 1;
}
}
);
}
});
"孩子"基本上应该是什么样子:
Ext.define( 'my.subview', {
xtype: 'myview',
extend: 'my.view',
config: {
itemTpl: new Ext.XTemplate(
[
'<p>Something completely different here</p>'
].join( "" ),
//this.superclass.getMemberFunctions()
);
}
});
提前!
您不能按照前面描述的方式来做,但也许您可以采取另一种方法。
与其期望XTemplate继承功能(我真的不确定它能做到这一点),不如在可以重用它们的地方定义成员属性/函数。例如:
Ext.define( 'my.view', {
xtype: 'myview',
config: {
xtemplateStuff : {
// XTemplate configuration:
compiled: true,
// member functions:
isGirl: function(name){
return name == 'Sara Grace';
},
isBaby: function(age){
return age < 1;
}
}
},
initialize : function() {
this.setItemTpl(new Ext.XTemplate([
'stuff...',
this.getXtemplateStuff()
]));
}
});
由于config
中的任何内容都将被继承,因此您可以在子视图中执行此操作:
Ext.define( 'my.subview', {
extend: 'my.view',
initialize : function() {
this.setItemTpl(new Ext.XTemplate([
'different stuff...',
this.getXtemplateStuff()
]));
}
});
相关文章:
- 从控制器继承了隔离的作用域以生成可重用的指令
- 两个指令创建新的继承的和隔离的作用域-元素得到哪个
- 当使用控制器作为语法时,如何从父指令继承属性
- 以jquery方式继承Javascript
- JavaScript对象不是从原型链继承的
- 使用Object.create()的角度服务继承
- 数据与Javascript中的继承冲突
- JavaScript对象继承问题
- Javascript嵌套函数属性继承
- 为什么不't htmlCollection从数组继承
- 继承的属性检查
- 没有预定义宽度的固定元素最初放在引导容器中,不会从父元素继承宽度
- 如何使用原型继承编写一个整洁灵活的复杂javascript应用程序
- 使用技巧在javascript中强制执行私有继承
- $emit,$broadcast,原型继承
- 如何检查DOM节点是否继承自构造函数
- Javascript多重继承模式
- 玉中继承模板的修改
- Angular中的作用域继承$broadcast
- Sencha Touch 2:扩展XTemplate-我可以继承parents成员函数吗