zoukankan      html  css  js  c++  java
  • sencha touch Ext.app.Application

    Ext.app.Application一般用于app.js中

    用来初始化整个应用

    可以预先加载controllers(控制器),models(模型),stores(数据源),views(视图)

    例如:

    1 Ext.application({
    2     name: 'MyApp',
    3 
    4     controllers: ['Users'],
    5     models: ['User', 'Group'],
    6     stores: ['Users'],
    7     views: ['Main', 'ShowUser']
    8 });

    他们分别对应下面几个js文件

      app/model/User.js
      app/model/Group.js
      app/store/Users.js
      app/controller/Users.js
      app/view/Main.js
      app/view/ShowUser.js 

    如果应用结构比较复杂,例如在视图文件夹之中还创建了子文件夹,可以如下

    1 Ext.application({
    2     name: 'MyApp',
    3 
    4     controllers: ['Users', 'nested.MyController'],
    5     views: ['products.Show', 'products.Edit', 'user.Login']
    6 });

    他们分别对应下面几个js文件

      app/controller/Users.js
      app/controller/nested/MyController.js
      app/view/products/Show.js
      app/view/products/Edit.js
      app/view/user/Login.js

    以上两种方式结合如下

    1 Ext.application({
    2     views: ['Auth.view.LoginForm', 'Welcome'],
    3     controllers: ['Auth.controller.Sessions', 'Main'],
    4     models: ['Auth.model.User']
    5 });

    他们分别对应下面几个js文件

      Auth/view/LoginForm.js
      Auth/controller/Sessions.js
      Auth/model/User.js
      app/view/Welcome.js
      app/controller/Main.js

    为了方便管理,我一般只在这里引入控制层,其他的放在对应的控制层,app.js如下

     1 //指定ux起调目录
     2 Ext.Loader.setPath({
     3     'ux': 'app/ux'
     4 });
     5 
     6 Ext.application({
     7     name: 'app',
     8     controllers: ['Main', 'Job', 'User', 'New', 'Img', 'Question', 'Release'],
     9     requires: ['app.config', 'app.util'],
    10     //图标  
    11     icon: {
    12         '57': 'resources/icons/icon.png',
    13         '72': 'resources/icons/icon.png',
    14         '114': 'resources/icons/icon.png',
    15         '144': 'resources/icons/icon.png'  
    16     },  
    17     //运行图标优先显示  
    18     isIconPrecomposed: true,  
    19     //不同分辨率对应的启动图片  
    20     startupImage: {
    21         '320x460': 'resources/startup/splash.png',
    22         '640x920': 'resources/startup/splash.png',
    23         '768x1004': 'resources/startup/splash.png',
    24         '748x1024': 'resources/startup/splash.png',
    25         '1536x2008': 'resources/startup/splash.png',
    26         '1496x2048': 'resources/startup/splash.png'
    27     },  
    28     //当所有的引入项加载完成后,执行
    29     launch: function() {
    30         // Destroy the #appLoadingIndicator element
    31         util.inIt();
    32         Ext.fly('appLoadingIndicator').destroy();
    33     }
    34 });

    其中值得注意的属性有

      appFolder 默认值:app  应用目录名称

      所以我们的主要代码是放在app目录中的,当然也可以改成其他的值,比如test

      不过更改之后最好如下设置,以免应用出现问题,个人建议默认即可

    1 Ext.Loader.setPath({
    2     'app': 'test'
    3 });

      

      name 默认值:app  应用程序名称

      如果你改成其他的名称,比如test

      那你注册一个model他的名称应该是类似test.model.user

      个人建议使用默认值

      

      icon 应用启动图标

      如果使用cmd打包应用,需要配置

      requires 引入指定js

      比如全局配置文件,全局共用方法,消息提示组件等

    关于Ext.app.Application有其他看法和疑问的欢迎留言探讨

      

      

      

  • 相关阅读:
    深入Android 【一】 —— 序及开篇
    Android中ContentProvider和ContentResolver使用入门
    深入Android 【六】 —— 界面构造
    The service cannot be activated because it does not support ASP.NET compatibility. ASP.NET compatibility is enabled for this application. Turn off ASP.NET compatibility mode in the web.config or add the AspNetCompatibilityRequirements attribute to the ser
    Dynamic Business代码片段总结
    对文件的BuildAction以content,resource两种方式的读取
    paraview 3.12.0 windows下编译成功 小记
    百度网盘PanDownload使用Aria2满速下载
    netdata的安装与使用
    用PS给证件照排版教程
  • 原文地址:https://www.cnblogs.com/mlzs/p/3473407.html
Copyright © 2011-2022 走看看