在 Sencha Touch MVC 框架中声明和调用视图时出错。
Posted
技术标签:
【中文标题】在 Sencha Touch MVC 框架中声明和调用视图时出错。【英文标题】:Getting error while declaring and calling view in Sencha Touch MVC framework. 【发布时间】:2012-03-01 10:15:45 【问题描述】:我是 sencha touch mvc 框架的新手,我在 android os 上使用 version1.1.1。我在演示应用程序中创建了控制器和视图。我的 app.js 和 viewport.js 出现错误。
这里是 app.js:-
Ext.regApplication(
name: 'MyApp',
defaultUrl: 'Home/index',
launch: function()
this.viewport = new MyApp.view.viewport();
,
);
这里是 viewport.js:-
MyApp.view.viewport = Ext.extend(Ext.Panel,
fullscreen: 'true',
layout: 'card',
cardSwitchAnimation: 'slide',
dockedItems: [
xtype: 'toolbar',
title: 'MvcTouch',
,
],
);
现在我的问题是,当我使用上述代码运行我的应用程序时,出现以下错误。
1) TypeError: Result of expression 'MyApp.view' [undefined] is not an object. at file:///android_asset/www/app/view/viewport.js:9
2) TypeError: Result of expression 'MyApp.view' [undefined] is not an object. at file:///android_asset/www/app/app.js:6
我根据Sencha的核心开发人员here解释的标准编写代码。但是当我换行时
MyApp.view.viewport = Ext.extend(Ext.Panel,
到
viewport = Ext.extend(Ext.Panel, in viewport.js
换行
this.viewport = new MyApp.view.viewport();
到
this.viewport = new viewport(); 在 app.js 中
该应用程序运行良好。现在我不了解当我不使用 sencha 的标准约定时它运行良好并且当我使用标准约定时它不运行的代码。 谁能告诉我这里发生了什么。任何帮助将不胜感激。提前谢谢。
【问题讨论】:
【参考方案1】:在 Sencha Touch 1.1.1 中,应用程序视图是用“视图”而不是“视图”定义的。所以,试试这个:
MyApp.views.viewport = Ext.extend(Ext.Panel,
那么这应该可以正常工作。
【讨论】:
是的,它只是一个文件夹,Sencha Touch 1.1.1 没有映射。但是在 Sencha Touch 2.0 中你会看到文件夹和类名映射的很准确。以上是关于在 Sencha Touch MVC 框架中声明和调用视图时出错。的主要内容,如果未能解决你的问题,请参考以下文章
在 EXTJS 和 Touch Apps 之间共享遵循 MVC 模式的功能 - Sencha Workspace
sencha touch 2 中的谷歌地图实现(MVC 方式)