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

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

博客地址: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的一个小案例的更多相关文章

  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. [转]OnKeyDown Numeric Validator CLIENT SIDE

    本文转自:http://forums.asp.net/t/1211724.aspx?OnKeyDown+Numeric+Validator+CLIENT+SIDE <!DOCTYPE html ...

  2. MMORPG大型游戏设计与开发(概述)updated

    1.定义 MMORPG,是英文Massive(或Massively)Multiplayer Online Role-PlayingGame的缩写,即大型多人在线角色扮演游戏. 2.技术与知识 在这系列 ...

  3. 【HTML】嵌入图像

    img元素允许我们在HTML文档里嵌入图像. 要嵌入一张图像需要使用src和alt属性,代码如下: <img src="../img/example/img-map.jpg" ...

  4. 【原创Android游戏】NinOne V2.3.1 --加载模式的学习,界面的重新设计

    上次更新后又发现了一些bug,而且是非常明显的bug,一一加以改正了过来. 猜数字游戏的功能已基本实现,不过我觉得一个应用单做一个游戏有点不太过瘾,略显单调,于是我打算基于这个,写一个n合1的游戏集成 ...

  5. StringBuffer和StringBuilder的区别

    StringBuffer和StringBuilder的区别 StringBuffer与StringBuilder就不一样了,他们是字符串变量,是可改变的对象,每当我们用它们对字符串做操作时,实际上是在 ...

  6. java 25 - 2 网络编程之 网络通信三要素

    网络通信三要素 IP地址: InetAddress 网络中设备的标识,不易记忆,可用主机名(计算机的标识号) 端口号: 用于标识进程的逻辑地址,不同进程的标识(正在运行的软件的标识号) 传输协议: 通 ...

  7. 如何自学Android

    看到很多人提问非科班该如何学习编程,其实科班也基本靠自学.有句话叫"师傅领进门修行靠个人",再厉害的老师能教你的东西都是很有限的,真正的修行还是要靠自己.博主本科是数学专业,虽研究 ...

  8. EF的入门使用 (电影管理)

    控制器代码: public class HomeController : Controller { private NewDBContext ndc = new NewDBContext(); pub ...

  9. IntelliJ IDEA运行tomcat项目编码错误, 及如何指定tomcat编码

    刚开始用IDEA, 在跑dubbo开发时, 发现一个很奇怪的问题, 远程调用服务端的方法时, 传入的中文参数会变成GBK编码. 经过好长时间的跟踪终于把问题定位到了IDEA里配置的Tomcat. 凡是 ...

  10. QT 对话框一

    标准文件对话框 其函数形式如下:: QString QFileDialog::getOpenFileName ( QWidget * parent=, const QString &capti ...