跟我extjs5(03--在项目过程中加载文件)

跟我extjs5(03--在项目过程中加载文件)

上一节中用sencha工具自己主动创建了一个项目。而且能够在浏览器中查看。

如今我们来看看js类载入过程。

例如以下图所看到的:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamZvaw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

1?首先:浏览器中输入 localhost:1841 ,调用 index.html;
<!DOCTYPE HTML>
<html>
<head>
    <meta charset="UTF-8">

    <title>app</title>

    <!-- The line below must be kept intact for Sencha Cmd to build your application -->
    <script id="microloader" type="text/javascript" src="bootstrap.js"></script>

</head>
<body></body>
</html>

在这里面仅仅引入了一个文件:bootstrap.js。这是一个奇妙的文件,他依据配置文件bootstrap.json来设置extjs的类的调用路径、引入css,最后再依据配置文件里的信息,载入app.js。

这个文件仅仅要知道这些功能即可了,要了解详细的内部实现,能够去搜索一下相关文章。

2?app.js文件的说明

Ext.application({
    name: 'app',//应用的名称app

    extend: 'app.Application',       //继承自app.Application,这个文件是 app/Application.js

    autoCreateViewport: 'app.view.main.Main'  //自己主动创建的Viewport的类名,文件在 app/view/main/Main.js

});

上面的类中会依据类载入的设置信息,自己主动为类 app.Application载入文件 /app/Application.js,相同也为app.view.main.Main类找到js文件并载入。

3?Application.js文件

Ext.define('app.Application', {
			extend : 'Ext.app.Application',

			name : 'app',
			views : [], // MVC用到的view
			controllers : ['Root'
			// MVC控制器的名称,会自己主动到 /app/controller下去载入同名的js文件
			// 对于Root,会去自己主动载入 /app/Controller/Root.js 这个文件
			],
			stores : [],
			launch : function() {
				// 须要运行的语句能够加在此处
			}
		});

4、Main.js 文件

Ext.define('app.view.main.Main', {
    extend: 'Ext.container.Container',

    xtype: 'app-main',

    controller: 'main',
    	//MVVM架构的控制器的名称,会在当前路径中依据‘Main’ + Controller 来确定文件名称
    	//这个我没找到其它不论什么能够自己主动载入MainController.js的依据,仅仅能作上面的推断了
    viewModel: {
        type: 'main'
    	//MVVM架构的viewModel的类型,会在当前路径中依据‘Main’ + Model 来确定文件名称
    },

    layout: {
        type: 'border'			//系统的主页面的布局
    },

    items: [{
        xtype: 'panel',
        bind: {
            title: '{name}'
        },
        region: 'west',		//左边面板
        html: '<ul><li>This area is commonly used for navigation, for example, using a "tree" component.</li></ul>',
        width: 250,
        split: true,
        tbar: [{
            text: 'Button',
            handler: 'onClickButton'
        }]
    },{
        region: 'center',		//中间面版
        xtype: 'tabpanel',
        items:[{
            title: 'Tab 1',
            html: '<h2>Content appropriate for the current navigation.</h2>'
        }]
    }]
});

上面的类是继承自Container的一个容器类,这个类使用了extjs5的mvvm的新特性,

    controller: 'main',
    	//MVVM架构的控制器的名称,会在当前路径中依据‘Main’ + Controller 来确定文件名称
    	//这个我没找到其它不论什么能够自己主动载入MainController.js的依据。仅仅能作上面的推断了
    viewModel: {
        type: 'main'
    	//MVVM架构的viewModel的类型,会在当前路径中依据‘Main’ + Model 来确定文件名称
    },

上面的属性controller表示当前Main类的控制器为"main",这个类里没有引用控制器的语句。因此控制器的类名可能是有其默认的载入规则。应该是在当前路径中载入“Main”+"Controller.js",这个文件作为控制器。

viewModel属性定义了VM的类型,其载入类的规则和上面控制器是一样的。

因为此类是作为一个 autoCreateViewport 属性被载入,载入完毕后会马上生成一个实例,并渲染,就是我们看到的网页。

extjs中类的动态载入机制非常灵活,这里也不能所有讲到,有不明确的能够查找相关资料。在用sencha cmd 对js 进行编译以后,会将所有的js ,书面和包含用户手册extjs5 sdk用类都在同一个文件。当它目前只发行了一大js文件。

时间: 2024-11-08 17:29:11

跟我extjs5(03--在项目过程中加载文件)的相关文章

vs2012运行项目报未能加载文件或程序集“System.Web.Mvc, Version=4.0.0.1,Culture=neutral”问题和解决方法

原先本地项目版本(4.0.0.1)高于服务器版本(4.0.0.0),本地项目改成服务器版本4.0.0.0时,发布后的项目报这个错误 出现的问题:原先项目编译后可运行,发布在IIS后就报这个错误 分析问题: 1)mvc运行环境问题(首先本地项目版本跟服务器所用的版本不一致,所以先确定环境一致) 注:项目是使用mvc4框架的,所以确定asp.net.mvc版本跟服务器版本是否一样, 原先mvc4的环境版本是4.040804.0,先卸载后安装4.0.20714.0版本 2)引用dll包的版本问题(比如

jq load()方法中加载文件中元素事件绑定失效的问题

1.load()方法: $(selector).load(URL,data,callback): selector:页面中需要加载外部文件的DOM节点: URL:外部文件地址: data:请求一同发送的查询字符串集合: callback:load()方法完成后所执行的函数: 2.问题:被加载页面中的JavaScript代码失效,这是因为load加载的外部文件会把Script部分删除掉. 解决:使用load方法中的回调函数加载绑定事件: 原文地址:https://www.cnblogs.com/n

从smack-config.xml文件中加载文件内容 Loads the configuration from the smack-config.xml file

/** * Loads the configuration from the smack-config.xml file.<p> * * So far this means that: * 1) a set of classes will be loaded in order to execute their static init block * 2) retrieve and set the current Smack release */ static { try { // Get an

“System.BadImageFormatException”类型的未经处理的异常在 PurchaseDevices.Access.dll 中发生 其他信息: 未能加载文件或程序集“System.Data.SQLite, Version=1.0.66.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139”或它的某一个依赖项。试图加载格式不正确

引用sqlite的程序集时,有时会报如下异常: "System.BadImageFormatException"类型的未经处理的异常在 PurchaseDevices.Access.dll 中发生 其他信息: 未能加载文件或程序集"System.Data.SQLite, Version=1.0.66.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139"或它的某一个依赖项.试图加载格式不正确的程序. 解决方案:在配置

IIS7中出现,未能加载文件或程序集“XXX.XXX”或它的某一个依赖项。

操作系统升级为 64位系统后,原来32位可以正常运行的程序,现在有一部分程序运行不起来了. 报错是: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.xxx: 未能加载文件或程序集“XXX”或它的某一个依赖项.试图加载格式不正确的程序. 源错误: 执行当前 Web 请求期间生成了未处理的异常.可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息. 程序集加载跟踪: 下列信息有助于确定程

MyBatis Java不同方式加载文件时的路径格式问题、Mybatis中加载.properties文件

public class LoadPropTest { public static void main(String[] args) throws IOException { //一.Properties的load方法加载文件输入流 Properties props=new Properties(); File file1=new File("F:/Program Files/Java/IdeaProjects/MyBatisDemo/src/db.properties"); File

SAP HANA项目过程中优化分析以及可行性验证

在项目开发过程中,经常会遇到HANA模型运行效率的问题: 以我们项目为例,HANA平台要求模型运行时间不能超过10秒,但是在大数量和计算逻辑复杂的情况下(例如:ERP中的BKPF和BSEG量表的年数据总量超过20亿条),HANA模型的运行时间基本上都在1分钟以上.在不关联其它表,单单是几个板块的BKPF和BSEG表UNION ALL,运行时间都超过1分钟.鉴于这种情况,项目组对HANA模型是否存在优化空间,进行了分析和探讨,也请教了HANA平台的专家对HANA的优化给出可行性建议. 最终的分析结

总结过去做项目过程中获取需求分析的一些经验

需求分析是一个项目成功与否的关键,而随着目前技术的发展,快速开发已成家常便饭,因此项目开发的中心主要放在需求分析上.然后,需求分析的获取也会遇到很多障碍,比如说与业务员沟通方面,下面就如何提高与用户的访谈技巧做一个深入的分析. 在写这篇文章之前,带着团队开发高校的校友管理系统,自己参与了整个项目的立项.分析.设计.实现.测试,整个过程下来,发现需求分析阶段是最痛苦的,也是最有含金量的"技术苦旅". 在需求分析阶段,我一直与学校校友办的联络员保持沟通,对方是一个十分强势的女强人,在与她的

2016.7.5 记项目过程中犯的一个从未察觉的低级错误

今天在项目中遇到了一个很奇葩的问题,具体什么问题就不说了,找了一下午实在找不出来,百般无奈之时,看到了自己敲的一条不太顺眼的代码: if(0<i<31) 心想这样写好像不好,于是将其改成if((i>0)&&(i<31)),编译调试,之前出现的问题居然奇迹般的消失了.经过和同学探讨,得出以下别人都知道的结论: if(0<i<31),程序首先计算0<i,i的范围是0~51,当i>0时,(0<i) == true,在我使用的编译器里面,认为t