【发布时间】:2013-11-03 19:41:54
【问题描述】:
我正在尝试将 ember js 与 jquery mobile ttps://github.com/LuisSala/emberjs-jqm 一起使用
如何在 ember 工具中扩展自定义视图。我尝试了类似的方法,但没有成功。
var MobileBaseView = Ember.View.extend({
attributeBindings:['data-role']
});
module.exports = MobileBaseView;
和
var MobileBaseView = require('MobileBaseView');
var PageView = MobileBaseView.extend({
'data-role': 'page'
});
module.exports = PageView;
没用
*已更新***** 在实施了主销的建议后(谢谢)。我观察到多级扩展在我的情况下不起作用。
我有
移动基础视图:
var MobileBaseView = Ember.View.extend({
attributeBindings:['data-role']
});
module.exports = MobileBaseView;
工具栏基础视图:
var ToolbarBaseView = App.MobileBaseView.extend({
attributeBindings:['data-position'],
'data-position': function() {
if (this.get('isFullScreen')) {
return 'fullscreen'
}
if (this.get('isFixed')) {
return 'fixed'
}
return ''
}.property('isFixed', 'isFullScreen').cacheable(),
isFixed: true,
isFullsScreen: false
});
module.exports = ToolbarBaseView;
和我的模板中的一行
{{view App.ToolbarBaseView}}
这很好
但只要我再添加一个视图 标题视图
var HeaderView = App.ToolbarBaseView.extend({
'data-role': 'header'
});
module.exports = HeaderView;
并添加一行
{{view App.HeaderView}}
我得到错误 未捕获的类型错误:无法调用未定义的方法“扩展”
已解决
使用 ember 应用程序套件实现此功能
import ToolbarBaseView from 'appkit/views/toolbar_base_view';
var HeaderView = ToolbarBaseView.extend({
'data-role': 'header'
});
export default HeaderView;
【问题讨论】:
标签: ember.js