extjs5(04--MVVM特性的简单说明)

下面我们来看一下自动生成的代码中的MVVM架构的关系。Main是一个可视的控件,MainController是这个控件的控制类,MainModel是这个控件的模型类。

在上面的图片中,左边是Main.js中的代码,右边是MainController.js 和 MainModel.js中的代码,可以看到MVVM中的事件绑定和属性值绑定都用到了。上图中红色的部分标注了一个按钮“Button”的handler(即click)事件绑定到MainController.js中的函数“OnClickButton”之上。蓝色部分表示将panel的title属性,绑定到了MainModel的属性data的name值上,如果你要修改该Panel的值,则只要修改MainModel中的data.name就可以。

下面我们来看看网页里面的具体展示:

下面做一个最简单的修改,将panel的title值改为“修改后的title”。修改MainController.js,加入一条语句

 1 Ext.define(‘app.view.main.MainController‘, {
 2     extend : ‘Ext.app.ViewController‘,
 3
 4     requires : [‘Ext.MessageBox‘],
 5
 6     alias : ‘controller.main‘,
 7
 8     onClickButton : function() {
 9         Ext.Msg.confirm(‘Confirm‘, ‘Are you sure?‘, ‘onConfirm‘, this);
10     },
11
12     onConfirm : function(choice) {
13         if (choice === ‘yes‘) {
14             //加入下面这一条语句
15             this.getView().getViewModel().set(‘name‘ , "修改后的title");
16         }
17     }
18 });

加入了一条语句

1 this.getView().getViewModel().set(‘name‘ , "修改后的title");  

这条语句的信息量也很大,分别来说明一下:

  • this表示的是当前的类,也就是MainController的实例。
  • this.getView() 表示当前控制器控制下的View类实例。
  • this.getView().getViewModel()表示该view实例绑定的Model。
  • set(‘name‘,‘修改后的title‘),将Model的值name修改,修改后panel的title会自动的进行更新。

执行后的结果如下:

我们对程序的第一处修改得以正确执行。

对于一个要学习好extjs的人来说,官方的例子和api是必不可少的工具。比如上面的一条语句中,我想得到当前控制器下的View,我也是去api上面的methods中找相应的函数,才能确定到底有没有和函数名称是什么。

时间: 2024-08-26 17:41:48

extjs5(04--MVVM特性的简单说明)的相关文章

3、手把手教你Extjs5(三)MVVM特性的简单说明

下面我们来看一下自动生成的代码中的MVVM架构的关系.Main是一个可视的控件,MainController是这个控件的控制类,MainModel是这个控件的模型类. 在上面的图片中,左边是Main.js中的代码,右边是MainController.js 和 MainModel.js中的代码,可以看到MVVM中的事件绑定和属性值绑定都用到了.上图中红色的部分标注了一个按钮“Button”的handler(即click)事件绑定到MainController.js中的函数“OnClickButto

跟我一起学extjs5(04--MVVM特性的简单说明)

跟我一起学extjs5(04--MVVM特性的简单说明) 下面我们来看一下自动生成的代码中的MVVM架构的关系.Main是一个可视的控件,MainController是这个控件的控制类,MainModel是这个控件的模型类. 在上面的图片中,左边是Main.js中的代码,右边是MainController.js 和 MainModel.js中的代码,可以看到MVVM中的事件绑定和属性值绑定都用到了.上图中红色的部分标注了一个按钮"Button"的handler(即click)事件绑定到

spring4.0.6最新稳定版新特性学习,简单学习教程(一)

Spring Framework 4.0 学习整理. Spring框架的核心部分就是Ioc容器,而Ioc控制的就是各种Bean,一个Spring项目的水平往往从其XML配置文件内容就能略知一二,很多项目,往往是外包公司的项目,配置文件往往是乱七八糟,抱着能跑就行,不报错就行的态度去写,然后在项目中后期发现各种缺失又去一通乱补,其结果就是,整个文档可读性极差,毫无章法.这也不能怪写这个XML的人,拿着苦逼程序员的工资干着架构师的工作必然是这个结果.为了程序员的幸福,我认为有必要来一套简单快速的官方

ubuntu13.04下ftp的简单搭建过程

本文主要介绍一下ubuntu13.04下ftp的简单搭建过程: 主要实现基本的功能: l 实现匿名用户访问 l 上传资料 l 实现对特定ip或ip段开放服务 l 等等... 下面介绍一下安装过程: Ubuntu自带的FTP服务器是vsftpd. 1.安装vsftpd 对于ubuntu下相对简单只需要一条 sudo apt-get install vsftpd 安装默认在/src下建立一个ftp目录. 应该可以看到一个空白内容的ftp 文件. 默认状态下是可以匿名下载,但不能写入或是上传 2.设置

ExtJS5 (一) 超简单整合到eclipse中,搭建简单的开发环境

个人一直欣赏大神们的唯美前端页面,而现在个人从事的是MIS系统等相关的开发,故决定学习ExtJS,目前最新版本是5.0,就从5.0开始吧. 作为java开发人员,自然而然的想在eclipse中搞个extjs的简单开发环境,以后再慢慢丰富,开始吧~ 第一步:从官网下载extjs,目前是5.0版本 第二步:用eclipse创建一个动态web工程 第三步:在工程的WebContent目录下创建一个文件夹,叫作ExtJS5. 第四步:解压从官网下载的extjs,解压之后,目录结构如下: 看一下根目录下的

apache基本配置管理(一):apache基本原理和特性和简单搭建

一.web服务器apache服务的架构和工作原理: web服务器                                                                                在开始了解Apache前,我们先熟悉一下web服务器,因为apache也是web服务器的一种. Web系统由客户端(浏览器)和服务器端两部分组成.Web系统架构也被称为B/S架构.最常见的Web服务器有Apache.IIS等,常用的浏览器有IE.Firefox.chrome等

ExtJS5_MVVM特性的简单说明

下面我们来看一下自动生成的代码中的MVVM架构的关系.Main是一个可视的控件,MainController是这个控件的控制类,MainModel是这个控件的模型类. 在上面的图片中,左边是Main.js中的代码,右边是MainController.js 和 MainModel.js中的代码,可以看到MVVM中的事件绑定和属性值绑定都用到了.上图中红色的部分标注了一个按钮“Button”的handler(即click)事件绑定到MainController.js中的函数“OnClickButto

MVVM开发模式简单实例MVVM Demo

本文主要是翻译Rachel Lim的一篇有关MVVM模式介绍的博文 A Simple MVVM Example 并具体给出了一个简单的Demo(原文是以WPF开发的,对于我自己添加的一部分会用红色标注) 现在开始: 在我看来,如果你使用的是WPF或Sliverlight来开发程序就应该使用MVVM设计模式.它是你的代码清晰明了并易于维护. 可问题是网上有很多有关MVVM模式的资源都有自己强大的实现方式.这里我将介绍最基础的MVVM设计模式的实现方法. MVVM  (是Model-View-Vie

WPF中使用MVVM模式进行简单的数据绑定

计划慢慢整理自己在WPF学习和工作应用中的一些心得和想法,先从一个简单的用法说起 在WPF中,XAML标记语言中绑定数据,而数据源就是指定为ViewModel类,而非界面本身的逻辑代码类 这样一定程度上达到界面与业务逻辑分离的思想,UI层只需要对ViewModel类进行依赖,只要ViewModel公开出来的属性不变,界面层就不用根据业务逻辑变化而进行修改 这大概就是MVVM模式的一个基本出发点,配合WPF的依赖属性和命令等结合使用,会有更复杂的用法及更好的效果 这里先从一个简单的数据绑定用法为例