今天很是幸运,看到了一位大神的博客,学习了不少的东西。太感谢了.(满满的都是爱啊)

建议去学习这个大神的博客,真心不错。

博客地址:http://blog.csdn.net/column/details/extjs5.html?&page=1

首先要建立一个简单的项目,我是使用的 Sencha Architect 3自动生成的

app下面的文件

在视图文件中建立

MyViwepost.js (view文件中)

  1. Ext.define('MyApp.view.MyViewport', {
  2. extend: 'Ext.container.Viewport',
  3. alias: 'widget.myviewport',
  4.  
  5. requires: [
  6. 'MyApp.view.MyViewportViewModel',
  7. 'MyApp.view.MyViewportViewController',
  8. 'Ext.panel.Panel',
  9. 'Ext.button.Button'
  10. ],
  11.  
  12. controller: 'myviewport', // 设置会找到 MyViewportViewController.js
  13. viewModel: {
  14. type: 'myviewport' // 找到 MyViewportViewModel.js
  15. },
  16. padding: 12,
  17. layout: 'fit',
  18.  
  19. items: [
  20. {
  21. xtype: 'panel',
  22. //设置此配置选项添加或删除数据绑定其他配置
  23. bind: {
               //这里的 name和model中对应
  24. title: '{name}',
  25. },
  26.  
  27. items: [
  28. {
  29. xtype: 'button',
  30. text: '测试 控制器',
                  //这里的控制器和 controller文件中对应
  31. handler: 'onClickButton'
  32. }
  33. ]
  34. }
  35. ]
  36.  
  37. });

myViewportViewController.js (view文件中)

  1. Ext.define('MyApp.view.MyViewportViewController', {
  2. extend: 'Ext.app.ViewController',
  3. alias: 'controller.myviewport',
  4. onClickButton: function(){
  5. Ext.Msg.confirm('Confirm', '要改变面板的title值吗?', 'onConfirm', this);
  6. },
  7.  
  8. onConfirm: function(choice){
  9. if(choice === 'yes') {
  10. //加入下面这一条语句
  11. //this.getView().getViewModel().set('name' , "修改后的title");
  12. console.log(this.getView().getViewModel().set('name','my app'));
  13. }
  14. }
  15. });

MyViewportViewModel.js (view文件中)

  1. Ext.define('MyApp.view.MyViewportViewModel', {
  2. extend: 'Ext.app.ViewModel',
  3. alias: 'viewmodel.myviewport',
  4.  
  5. //这个对象包含任意数据填充 视图模型 ,然后通过视图绑定。
  6. data: {
  7. name: 'app'
  8. }
  9. });

extJs学习基础5 理解mvvm的一个小案例的更多相关文章

  1. Python:通过一个小案例深入理解IO多路复用

    通过一个小案例深入理解IO多路复用 假如我们现在有这样一个普通的需求,写一个简单的爬虫来爬取校花网的主页 import requests import time start = time.time() ...

  2. python+selenium基础篇,cookie绕过验证码小案例

    1.绕过验证码有许许多多的方法,笔者在此介绍其中的一个小方法,原理其实就是获取已登陆了之后的凭证(会话保存在本地的cookie中)再打开另一个页面的使用 2.F12(浏览器开发者调试工具)可以查看的需 ...

  3. extJs学习基础3 ajax与php交互

    extJs代码: <script src="build/ext-all.js"></script> <script src="build/p ...

  4. extJs学习基础

    显示和隐藏 所有的组件都是在show和hide方法中构造的.用来隐藏组件的默认的css方法是“display:none”但是通过hidemode配置的时候就有所变化了: Ext.onReady(fun ...

  5. extJs学习基础 容器的介绍

    Viewport: 一个专门的容器用于可视应用领域(浏览器窗口). Viewport渲染自身到网页的documet body区域, 并自动将自己调整到适合浏览器窗口的大小,在窗口大小发生改变时自动适应 ...

  6. extJs学习基础2

    一个登陆界面: Ext.onReady(function(){ Ext.define('Login', { //renderTo: Ext.getBody(), extend: 'Ext.window ...

  7. extJs学习基础4 Ext.each的用法

    Ext.onReady(function(){ //案例一 /* var countries = ['Vietnam', 'Singapore', 'United States', 'Russia'] ...

  8. 学习selenium python版最初的一个小想法

    这个还是我在刚开始学习selenium的时候做的,自己觉得有点意思,在接下来我会基于目前我对于selenium的一些深入研究,写下我对selenium的理解以及UIAutomation的一些理解,以此 ...

  9. TP5学习基础一:增删改查小demo

    ①TP5--增删改查简单的demo 我先吐槽一下:因为工作需要研究tp5,去官网看了一下哎呦,资源挺多挺全啊!然后下载唯一免费的官方教程,我曹pdf打开533页.讲的很细但是开发能等看完才做吗?看到精 ...

随机推荐

  1. [转]ASP.NET MVC IOC 之AutoFac攻略

    本文转自:http://www.cnblogs.com/WeiGe/p/3871451.html 一.为什么使用AutoFac? 之前介绍了Unity和Ninject两个IOC容器,但是发现园子里用A ...

  2. [转]六款值得推荐的android(安卓)开源框架简介

    本文转自:http://www.jb51.net/article/51052.htm .volley 项目地址 https://github.com/smanikandan14/Volley-demo ...

  3. 【温故而知新-Javascript】使用canvas元素(第一部分)

    1. 开始使用 canvas 元素 canvas 元素非常简单,这是指它所有的功能都体现在一个JavaScript对象上,因此该元素本身只有两个属性:width 和 height. canvas 元素 ...

  4. javascript_core之正则、Math、Date

      javascript_core之正则.Math.Date 1.RegExp:Regular Expression,创建封装正则表达式: ①正则直接量:var reg=/reg/ig:②var re ...

  5. Win7虚拟机无法打开内核设备:\\Global\\vmx86

    Win7虚拟机无法打开内核设备:\\Global\\vmx86 听语音 | 浏览:16844 | 更新:2014-07-21 11:21 | 标签:虚拟机 1 2 3 4 5 6 7 分步阅读 一键约 ...

  6. [转]Asp.net mvc 网站之速度优化 -- 页面缓存

    网站速度优化的一般方法 由于网站最重要的用户体验就是速度,特别是对于电子商务网站而言. 一般网站速度优化会涉及到几个方面: 1. 数据库优化 — 查询字段简历索引,使用数据库连接池和持久化,现在还有种 ...

  7. noip模拟赛(一)宠物之战

    宠物之战 (senso.pas/c/cpp) [问题描述] 众所周知,moreD的宠物已经被moreD奴役得体无完肤.这只宠物实在忍无可忍,把自己每天走魔法树的经历告诉了自己的宠物.同时他还说明了自己 ...

  8. poj 2892

    Tunnel Warfare Time Limit: 1000MS   Memory Limit: 131072K Total Submissions: 7725   Accepted: 3188 D ...

  9. 学习cocos 空程序

    今天开始学习cocos代码,首先研究源码中的空程序. 在这个程序中,在main函数中,创建了一个Application: int APIENTRY _tWinMain(HINSTANCE hInsta ...

  10. PAT 1015. 德才论 (25)

    宋代史学家司马光在<资治通鉴>中有一段著名的"德才论":"是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人.凡取人之术,苟不得圣人,君子 ...