JavaScript MVC 模式
来源:互联网 发布:淘宝儿童女装14岁 编辑:程序博客网 时间:2024/05/01 11:42
Javascript MVC 框架很多,比如backbone.js,ember.js 等等
下面给出两个例子用于解释MVC模式:
第一个是:没有使用mvc模式的:
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>javascript demo no mvc</title>
- </head>
- <body>
- <h3>JavaScript no MVC</h3>
- <div>
- <select name="" id="setAnimal">
- <option value="cat">cat</option>
- <option value="fish">fish</option>
- <option value="bird">bird</option>
- </select>
- <p id="whatDoesThisAnimalDo"></p>
- </div>
- <script type="text/javascript">
- document.getElementById('setAnimal').onchange = function(){
- var thisAnimalDoes;
- switch(this.value){
- case 'cat':
- thisAnimalDoes = 'cat meows';
- break;
- case 'fish':
- thisAnimalDoes = 'fish swims';
- break;
- case 'bird':
- thisAnimalDoes = 'bird fies';
- break;
- default:
- thisAnimalDoes = 'wuff?';
- }
- document.getElementById('whatDoesThisAnimalDo').innerHTML = thisAnimalDoes;
- };
- </script>
- </body>
- </html>
第二个例子: 采用mvc模式
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>javascript demo mvc</title>
- </head>
- <body>
- <h3>JavaScript simple MVC</h3>
- <div>
- <select name="" id="setAnimal">
- <option value="cat">cat</option>
- <option value="fish">fish</option>
- <option value="bird">bird</option>
- </select>
- <p id="whatDoesThisAnimalDo"></p>
- </div>
- <script type="text/javascript">
- // controller
- Animal = {
- start: function(){
- this.view.start();
- },
- set: function(animalName){
- this.model.setAnimal(animalName);
- }
- };
- // model
- Animal.model = {
- animalDictionary :{
- cat: 'meows',
- fish: 'swims',
- bird: 'flies'
- },
- currentAnimal:null,
- setAnimal: function(animalName){
- this.currentAnimal = this.animalDictionary[animalName]?animalName:null;
- this.onchange();
- },
- onchange: function(){
- Animal.view.update();
- },
- getAnimalAction: function(){
- return this.currentAnimal ? this.currentAnimal + " " + this.animalDictionary[this.currentAnimal] : 'wuff?';
- }
- };
- // view
- Animal.view = {
- start: function(){
- document.getElementById('setAnimal').onchange = this.onchange;
- },
- onchange: function(){
- Animal.set(document.getElementById('setAnimal').value);
- },
- update: function(){
- document.getElementById('whatDoesThisAnimalDo').innerHTML = Animal.model.getAnimalAction();
- }
- };
- Animal.start();
- </script>
- </body>
- </html>
0 0
- 谈谈JavaScript MVC模式
- JavaScript 的 MVC 模式
- JavaScript 的 MVC 模式
- JavaScript 的 MVC 模式
- JavaScript 的 MVC 模式
- JavaScript 的 MVC 模式
- JavaScript的MVC模式
- 谈谈JavaScript MVC模式
- JavaScript MVC 模式
- JavaScript的MVC模式向导
- JavaScript的MVC模式向导
- javascript 开发中的 MVC 模式分析
- 【转】javascript中MVC模式开发
- 「译」JavaScript 的 MVC 模式
- 「译」JavaScript 的 MVC 模式
- JavaScript按照MVC模式制作自定义控件
- JavaScript按照MVC模式制作自定义控件(1)
- JavaScript按照MVC模式制作自定义控件(2)
- CentOS 7 最小化安装之后安装Mysql
- Gulp.js-livereload 不用F5了,实时自动刷新页面来开发
- InnoDB锁问题
- iOS后台定位被拒
- 批处理的一些理解
- JavaScript MVC 模式
- 使用GIMP从连排png文件中抽取单一图片的方法
- 管理感悟26条——项目管理/研发管理
- IEEE和SCI等的通俗简介
- /dev/fb0入门练习(linux FrameBuffer)
- 杭电ACM 2054:A == B ?
- 13-Integer to Roman-字符串相关-HashMap
- 安卓APP动态调试-IDA实用攻略
- 获取系统时间