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页.讲的很细但是开发能等看完才做吗?看到精 ...
随机推荐
- MMORPG大型游戏设计与开发(客户端架构 part4 of vegine)
昨天是七夕,祝大家都过的快乐,希望这句迟到的问候不会造成大家心中的困扰.这一节讲到了前端比较重要的模块,性能以及调试异常模块.一个应用的性能往往是最核心的部分,就像人身体的各个器官一样,一小部分也不能 ...
- c语言结构体小知识
引自:http://c.biancheng.net/cpp/html/88.html 结构体在内存中是连续存储的 struct stu{ char *name; //姓名 int num; //学号 ...
- Codeforces 549A. Face Detection[模拟]
A. Face Detection time limit per test 1 second memory limit per test 256 megabytes input standard in ...
- 网络之OSI&&TCP/IP比较
共同点: 1.OSI和TCP/IP都采用了层次结构的概念 2.都能够提供面向链接(TCP)和无链接(UDP)两种通信服务机制 不同点: 1.前者7层,后者两层 2.对可靠性要求不同,TCP/IP要求高 ...
- Windows 常用 CMD 命令行介绍
看下面的链接: http://www.jianshu.com/p/76ff5d16f113
- html5的小知识点小集合
html5的小知识点小集合 html5知识 1. Doctype作用?标准模式与兼容模式各有什么区别? (1).<!DOCTYPE>声明位于位于HTML文档中的第一行,处于< ...
- 协议的分用以及wireshark对协议的识别
在TCP/IP详解一书中谈到了协议的分用,书中的图1-8如上.图1-8可以很好地解释在互联网的分层结构中,底层的协议头是如何承载上层的不同的协议的.对于链路层而言,以太网首部中有不同帧类型用于表示以太 ...
- P1835 素数密度_NOI导刊2011提高(04)
题目描述 给定区间[L,R](L≤R≤2147483647,R-L≤1000000),请计算区间中素数的个数. 输入输出格式 输入格式: 两个数L和R. 输出格式: 一行,区间中素数的个数. 输入输出 ...
- PHPExcel
1.PHPExcel类中读取Excel文件相关函数和使用方法 插件官网:http://phpexcel.codeplex.com/ <?php require_once 'Classes/PHP ...
- maven buid 导出项目依赖的jar包问题
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.8:copy-dependencie ...