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有其他看法和疑问的欢迎留言探讨

      

      

      

  • 相关阅读:
    CentOS虚拟机和物理机共享文件夹实现
    集训第六周 数学概念与方法 概率 数论 最大公约数 G题
    集训第六周 数学概念与方法 概率 F题
    集训第六周 E题
    集训第六周 古典概型 期望 D题 Discovering Gold 期望
    集训第六周 古典概型 期望 C题
    集训第六周 数学概念与方法 UVA 11181 条件概率
    集训第六周 数学概念与方法 UVA 11722 几何概型
    DAG模型(矩形嵌套)
    集训第五周 动态规划 K题 背包
  • 原文地址:https://www.cnblogs.com/mlzs/p/3473407.html
Copyright © 2011-2022 走看看