extJs学习基础5 理解mvvm的一个小案例
今天很是幸运,看到了一位大神的博客,学习了不少的东西。太感谢了.(满满的都是爱啊)
建议去学习这个大神的博客,真心不错。
博客地址:http://blog.csdn.net/column/details/extjs5.html?&page=1
首先要建立一个简单的项目,我是使用的 Sencha Architect 3自动生成的
app下面的文件
在视图文件中建立
MyViwepost.js (view文件中)
- Ext.define('MyApp.view.MyViewport', {
- extend: 'Ext.container.Viewport',
- alias: 'widget.myviewport',
- requires: [
- 'MyApp.view.MyViewportViewModel',
- 'MyApp.view.MyViewportViewController',
- 'Ext.panel.Panel',
- 'Ext.button.Button'
- ],
- controller: 'myviewport', // 设置会找到 MyViewportViewController.js
- viewModel: {
- type: 'myviewport' // 找到 MyViewportViewModel.js
- },
- padding: 12,
- layout: 'fit',
- items: [
- {
- xtype: 'panel',
- //设置此配置选项添加或删除数据绑定其他配置
- bind: {
//这里的 name和model中对应- title: '{name}',
- },
- items: [
- {
- xtype: 'button',
- text: '测试 控制器',
//这里的控制器和 controller文件中对应- handler: 'onClickButton'
- }
- ]
- }
- ]
- });
myViewportViewController.js (view文件中)
- Ext.define('MyApp.view.MyViewportViewController', {
- extend: 'Ext.app.ViewController',
- alias: 'controller.myviewport',
- onClickButton: function(){
- Ext.Msg.confirm('Confirm', '要改变面板的title值吗?', 'onConfirm', this);
- },
- onConfirm: function(choice){
- if(choice === 'yes') {
- //加入下面这一条语句
- //this.getView().getViewModel().set('name' , "修改后的title");
- console.log(this.getView().getViewModel().set('name','my app'));
- }
- }
- });
MyViewportViewModel.js (view文件中)
- Ext.define('MyApp.view.MyViewportViewModel', {
- extend: 'Ext.app.ViewModel',
- alias: 'viewmodel.myviewport',
- //这个对象包含任意数据填充 视图模型 ,然后通过视图绑定。
- data: {
- name: 'app'
- }
- });
extJs学习基础5 理解mvvm的一个小案例的更多相关文章
- Python:通过一个小案例深入理解IO多路复用
通过一个小案例深入理解IO多路复用 假如我们现在有这样一个普通的需求,写一个简单的爬虫来爬取校花网的主页 import requests import time start = time.time() ...
- python+selenium基础篇,cookie绕过验证码小案例
1.绕过验证码有许许多多的方法,笔者在此介绍其中的一个小方法,原理其实就是获取已登陆了之后的凭证(会话保存在本地的cookie中)再打开另一个页面的使用 2.F12(浏览器开发者调试工具)可以查看的需 ...
- extJs学习基础3 ajax与php交互
extJs代码: <script src="build/ext-all.js"></script> <script src="build/p ...
- extJs学习基础
显示和隐藏 所有的组件都是在show和hide方法中构造的.用来隐藏组件的默认的css方法是“display:none”但是通过hidemode配置的时候就有所变化了: Ext.onReady(fun ...
- extJs学习基础 容器的介绍
Viewport: 一个专门的容器用于可视应用领域(浏览器窗口). Viewport渲染自身到网页的documet body区域, 并自动将自己调整到适合浏览器窗口的大小,在窗口大小发生改变时自动适应 ...
- extJs学习基础2
一个登陆界面: Ext.onReady(function(){ Ext.define('Login', { //renderTo: Ext.getBody(), extend: 'Ext.window ...
- extJs学习基础4 Ext.each的用法
Ext.onReady(function(){ //案例一 /* var countries = ['Vietnam', 'Singapore', 'United States', 'Russia'] ...
- 学习selenium python版最初的一个小想法
这个还是我在刚开始学习selenium的时候做的,自己觉得有点意思,在接下来我会基于目前我对于selenium的一些深入研究,写下我对selenium的理解以及UIAutomation的一些理解,以此 ...
- TP5学习基础一:增删改查小demo
①TP5--增删改查简单的demo 我先吐槽一下:因为工作需要研究tp5,去官网看了一下哎呦,资源挺多挺全啊!然后下载唯一免费的官方教程,我曹pdf打开533页.讲的很细但是开发能等看完才做吗?看到精 ...
随机推荐
- [转]ASP.NET MVC IOC 之AutoFac攻略
本文转自:http://www.cnblogs.com/WeiGe/p/3871451.html 一.为什么使用AutoFac? 之前介绍了Unity和Ninject两个IOC容器,但是发现园子里用A ...
- [转]六款值得推荐的android(安卓)开源框架简介
本文转自:http://www.jb51.net/article/51052.htm .volley 项目地址 https://github.com/smanikandan14/Volley-demo ...
- 【温故而知新-Javascript】使用canvas元素(第一部分)
1. 开始使用 canvas 元素 canvas 元素非常简单,这是指它所有的功能都体现在一个JavaScript对象上,因此该元素本身只有两个属性:width 和 height. canvas 元素 ...
- javascript_core之正则、Math、Date
javascript_core之正则.Math.Date 1.RegExp:Regular Expression,创建封装正则表达式: ①正则直接量:var reg=/reg/ig:②var re ...
- Win7虚拟机无法打开内核设备:\\Global\\vmx86
Win7虚拟机无法打开内核设备:\\Global\\vmx86 听语音 | 浏览:16844 | 更新:2014-07-21 11:21 | 标签:虚拟机 1 2 3 4 5 6 7 分步阅读 一键约 ...
- [转]Asp.net mvc 网站之速度优化 -- 页面缓存
网站速度优化的一般方法 由于网站最重要的用户体验就是速度,特别是对于电子商务网站而言. 一般网站速度优化会涉及到几个方面: 1. 数据库优化 — 查询字段简历索引,使用数据库连接池和持久化,现在还有种 ...
- noip模拟赛(一)宠物之战
宠物之战 (senso.pas/c/cpp) [问题描述] 众所周知,moreD的宠物已经被moreD奴役得体无完肤.这只宠物实在忍无可忍,把自己每天走魔法树的经历告诉了自己的宠物.同时他还说明了自己 ...
- poj 2892
Tunnel Warfare Time Limit: 1000MS Memory Limit: 131072K Total Submissions: 7725 Accepted: 3188 D ...
- 学习cocos 空程序
今天开始学习cocos代码,首先研究源码中的空程序. 在这个程序中,在main函数中,创建了一个Application: int APIENTRY _tWinMain(HINSTANCE hInsta ...
- PAT 1015. 德才论 (25)
宋代史学家司马光在<资治通鉴>中有一段著名的"德才论":"是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人.凡取人之术,苟不得圣人,君子 ...