移动前端开发中的Backbone之前言:Backbone简介

  伴随着web端开发技术技术的飞速发展,各种SPA(Single Page Application)层出不穷,web前端的需求越来越多,我们不再是简单的使用jquery来完成绑定数据、交互特效。因此各种MVC、MVP、MVVM等前端框架层出不穷,从今天开始,我会向大家介绍一款前端MVC框架--Backbone.js。

本教程会着重介绍backbone中的一些常用方法和在项目中的实际应用,首先介绍一些backbone开发的配置。

Backbone依赖于underscore引擎,所以在使用backbone的时候我们首先要取得对underscore的引用,其代码层次如下:

  整体上来说,Backbone是一个web端javascript的MVC框架,算是轻量级的框架。它能让你像写Java(后端)代码组织js代码,定义类,类的属性以及方法。更重要的是它能够优雅的把原本无逻辑的javascript代码进行组织,并且提供数据和逻辑相互分离的方法,减少代码开发过程中的数据和逻辑混乱。

  不同于后端C#中的MVC(模型层、视图层、控制层),Backbone中的MVC概念主要指的是模型层(model)、视图层(view)和集合层(collection),我们在模型层完成模型属性的建立及校验;在视图层完成事件绑定和模型属性的set和get;当然backbone也有路由router的概念,路由主要控制不同在同一页面不同view的展示。

  下面我们通过一个简单的hello world展示backbone的实例:

  如上图,初次加载时,页面会显示hello world,当然,我们在文本框中输入文字并提交时,文本框中的文字会自动替换hello world。

 1 var AppView = Backbone.View.extend({
 2                     el:$(‘body‘),
 3                     templates:{
 4                         "Tem":_.template($(‘#template‘).html())
 5                     },
 6                     initialize:function(){
 7                         var _this=this;
 8                         $(‘.text‘).html(_this.templates.Tem({data:"Hello World"}));
 9                     },
10                     events:{
11                         "click input[type=‘button‘]":"AddContent"
12                     },
13                     AddContent:function(){
14                         var _this=this;
15                         var text=$("input[type=‘text‘]").val();
16                         $(‘.text‘).html(_this.templates.Tem({data:text}));
17                     }
18             });
19         var appview=new AppView();

完整的demo代码如下:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Document</title>
 6 </head>
 7 <body>
 8     <input type="text">
 9     <input type="button" value="按钮">
10     <h2 class="text"></h2>
11     <script type="text/template" id="template">
12         <span><%=data%></span>
13     </script>
14     <script type="text/javascript" src="js/jquery.js"></script>
15     <script type="text/javascript" src="js/underscore.js"></script>
16     <script type="text/javascript" src="js/backbone.js"></script>
17 </body>
18 </html>
19 <script type="text/javascript">
20         var AppView = Backbone.View.extend({
21                     el:$(‘body‘),
22                     templates:{
23                         "Tem":_.template($(‘#template‘).html())
24                     },
25                     initialize:function(){
26                         var _this=this;
27                         $(‘.text‘).html(_this.templates.Tem({data:"Hello World"}));
28                     },
29                     events:{
30                         "click input[type=‘button‘]":"AddContent"
31                     },
32                     AddContent:function(){
33                         var _this=this;
34                         var text=$("input[type=‘text‘]").val();
35                         $(‘.text‘).html(_this.templates.Tem({data:text}));
36                     }
37             });
38         var appview=new AppView();
39 </script>
时间: 2024-11-29 04:52:28

移动前端开发中的Backbone之前言:Backbone简介的相关文章

一探前端开发中的JS调试技巧

前言:调试技巧,在任何一项技术研发中都可谓是必不可少的技能.掌握各种调试技巧,必定能在工作中起到事半功倍的效果.譬如,快速定位问题.降低故障概率.帮助分析逻辑错误等等.而在互联网前端开发越来越重要的今天,如何在前端开发中降低开发成本,提升工作效率,掌握前端开发调试技巧尤为重要. 本文将一一讲解各种前端JS调试技巧,也许你已经熟练掌握,那让我们一起来温习,也许有你没见过的方法,不妨一起来学习,也许你尚不知如何调试,赶紧趁此机会填补空白. 骨灰级调试大师Alert 那还是互联网刚刚起步的时代,网页前

前端开发中的JS调试技巧

前言:调试技巧,在任何一项技术研发中都可谓是必不可少的技能.掌握各种调试技巧,必定能在工作中起到事半功倍的效果.譬如,快速定位问题.降低故障概率.帮助分析逻辑错误等等.而在互联网前端开发越来越重要的今天,如何在前端开发中降低开发成本,提升工作效率,掌握前端开发调试技巧尤为重要. 本文将一一讲解各种前端JS调试技巧,也许你已经熟练掌握,那让我们一起来温习,也许有你没见过的方法,不妨一起来学习,也许你尚不知如何调试,赶紧趁此机会填补空白. 骨灰级调试大师Alert 那还是互联网刚刚起步的时代,网页前

【转载】一探前端开发中的JS调试技巧

友情提示:文中涉及较多Gif演示动画,移动端请尽量在Wifi环境中阅读 前言:调试技巧,在任何一项技术研发中都可谓是必不可少的技能.掌握各种调试技巧,必定能在工作中起到事半功倍的效果.譬如,快速定位问题.降低故障概率.帮助分析逻辑错误等等.而在互联网前端开发越来越重要的今天,如何在前端开发中降低开发成本,提升工作效率,掌握前端开发调试技巧尤为重要. 本文将一一讲解各种前端JS调试技巧,也许你已经熟练掌握,那让我们一起来温习,也许有你没见过的方法,不妨一起来学习,也许你尚不知如何调试,赶紧趁此机会

关于前端开发中的“收口”思想

什么是收口 所谓条条大路通罗马,但如果让我来设计通向罗马的各种大路,我至少会做两件事情: ① 让罗马只有一个入口 ② 让罗马只有一个出口 这样做的好处是,无论你路从哪来,我可以统一在入口处给你打上各种标志,我也可以在你离开罗马时给你留点纪念.当然罗马自然不只一个出口入口,但是每个出口入口一定有一套相同的规定,否则就会出问题. 具体到当今的工作场景,高速公路又是一个收口的好例子,进入高速公路时候得经过收费站做点标志,离开时候也会做点操作,如果没有这种收口,不论是缴费工作,流量统计或者其他都是无法统

【名词】在前端开发中的“轮子”

最近在随便刷一些论坛,文档,常见一个名词"轮子". 自我理解:已封装完成的库.换个名词,组件.例如:图片轮播组建:swiper等,菜单栏组件. 在前端开发中,我们需要在满足条件下对于平台进行兼容,众所周知的IE系列,那么如果有一份已经写好的能够兼容各个浏览器的代码,进行封装以后直接引入使用显然会事半功倍. 作为练习,对于市场上主流的"轮子"进行仿造可以增加经验,也可以自己造轮子,只有自己动手做了才能够知道其中的知识点.

WEB前端开发中的图片压缩

web前端开发中,图片的重要性不言而喻,而由于一些图片的大小加上现在国内的网速不给力等种种原因,我们非常有必要对网站使用的图片进行压缩,压缩图片必然会带来图片质量的损失,我们要尽可能的在质量降低很小的情况下压缩图片,以便让网站更快的加载,提高用户体验度. 我在工作中,压缩图片用到了三个方法,分享给大家: 一.使用windows自带的画图工具 1.使用画图工具打开想要压缩的图片:2.什么都不用做,直接另存为你想要的图片格式,你会发现它比源文件小了很多,而且质量看不出来损失. 这个方法简单,快捷,压

web前端开发中常用的尺寸和位置

我们在日常web前端开发过程中,会经常用到各种尺寸和位置.通常是js做动画的时候.轮播图,滚屏动画,粒子,碰撞检测,拖拽,滚动加载等等.这里我将常用的尺寸和位置的获取进行总结,不包括canvas,SVG. 在web页面开发中,尺寸和位置分为屏幕的尺寸和位置,元素的尺寸和位置,还有一个是文档的尺寸和位置,不过文档的尺寸和位置是通过document.body获取的,也算是一个元素.还有鼠标的位置.所以尺寸和位置主要分为三类: 屏幕尺寸和位置 元素尺寸和位置 特殊的元素,文档的尺寸和位置 鼠标的位置(

前端开发中务必要转义的三处场景

出于这样或那样的原因,我们在传输.存储.展现字符串时需要进行转义操作,防止不可控的事情发生.下面我将分三处场景描述,有的里边确实有坑,希望大家看完后都有所收获.欢迎积极留言补充. 场景1:使用URL 前端开发中,我们经常会使用到URL,比如博客查询的表单action:"http://eastme.me?q=前端".Ajax发送Get\Post请求.跳转至网址:"http://www.eastme.me/个人简介"等等.这些请求的URL经常会出现汉字,尤其是当表单提交

px em rem在WEB前端开发中的区别

我们都知道基于像素的字体大小所用的单位是px,但是随着响应式设计的不断火热,基于相对字体大小的单位em变开始流行起来.当然,rem也在Web前端开发人员讨论如何更好设置字体大小的讨论话题之列.是不是需要用em或者是rem来替换掉px在前端开发中进行使用呢? 为什么我们需要使用相对字体大小呢? 或许我们最能直接想到的一点就是它关于CSS3的一些东西.很好理解的是它是一种字号计算方式,尤其是当你在为多种分辨率进行字号计算的时候.想想要在手机上实现字体变大或者变小的时候,你不得不要反复重新计算对象的字

前端开发中通过js设置cookie的一组方法

我们在前端开发中,通常都需要获取并记录用户的某些操作设置,这样可以使用户下一次访问网站时不用进行重复的调整设置同一个功能. 此次文章中的方法是在前端开发工作中自己随手写的一组通过js设置与获取cookie的方法,能够应用在多说情况下,没做细挖与深究. js方法的完整代码如下: var cookie = { set:function(key,val,time){//设置cookie方法 var date=new Date(); //获取当前时间 var expiresDays=time; //将d