外国做动漫图片的网站叫什么潮汕网站建设

web/2025/10/8 14:44:31/文章来源:
外国做动漫图片的网站叫什么,潮汕网站建设,wordpress 内存使用教程,seosem是什么意思1. 前言 本文的目的#xff0c;是帮助大家快速理解掌握Backbone的使用#xff0c;但它并不是API#xff0c;因此我不会将每一个方法都详细地描述#xff0c;但是我会告诉你如何学习它们。 这是一篇稍稍较长的技术文章#xff0c;因为我想将我所了解的东西尽可能详细地分享…1. 前言 本文的目的是帮助大家快速理解掌握Backbone的使用但它并不是API因此我不会将每一个方法都详细地描述但是我会告诉你如何学习它们。 这是一篇稍稍较长的技术文章因为我想将我所了解的东西尽可能详细地分享给大家。但它还不至于出版为一本书籍因为Backbone其实非常简单。当然这并不表示Backbone提供的功能有限相反它能用简单的实现构建出复杂的应用这正是Backbone的强大之处。 在正式学习Backbone之前你需要准备一些东西 首先你需要获取Backbone框架源文件http://documentcloud.github.com/backbone/ Backbone依赖于Underscore框架的基础方法因此你同时需要下载Underscore框架的源文件http://documentcloud.github.com/underscore/ 在Backbone中对DOM和事件的操作依赖于第三方库如jQuery或Zepto你只需要选择其中一个下载 jQueryhttp://jquery.com/ Zeptohttp://zeptojs.com/ 看起来好像挺麻烦的样子但Backbone的目的是在于使用简单的框架来构建复杂的应用因此麻烦并不表示它很复杂。 在后续章节我将详细介绍它们之间的关系和依赖但在此之前你可以新建一个HTML页面并将这些框架引入进来就像这样  [html] view plain copy script typetext/javascript srcjquery/jquery-1.8.2.min.js/script  script typetext/javascript srcunderscore/underscore-min.js/script  script typetext/javascript srcbackbone/backbone-min.js/script  至此你已经准备好了运行Backbone必须的环境。 如果学习过程中有任何问题或者你有更好的建议欢迎联系我一起交流 2. 什么是Backbone? Backbone是一个轻量级的前端MVC框架用于结构化管理页面中的大量JS建立与服务器、视图间的无缝连接为构建复杂的应用提供基础框架。 下面我先简单地阐述下Backbone的主要特点及特性 2.1 轻量级 Backbone的源码只有1000行左右去注释和空行后文件大小只有16KB加上依赖库Underscore也仅有29KB。 你只需要花一点时间就能轻松了解Backbone内部实现或编写少量代码来重载Backbone的部分机制如果你想在Backbone的基础上做二次开发也并不是一件复杂的事情。 2.2 MVC结构化 Backbone可以轻松将页面中的数据、逻辑、视图解耦依照Backbone进行代码结构组织你可以将项目中的数据交互、业务逻辑、用户界面等工作分配给多个同事同时开发并能有序地组织到一起。同时这对于大型和复杂项目的维护开发非常有帮助。 2.3 继承机制 在Backbone中模块是可以被继承的你可以通过面向对象的方式将应用中的数据模型、集合、视图有序地组织让整个架构更加清晰也可以方便地重载和扩展自定义方法。 2.4 建立与服务器的无缝连接 在Backbone中内置了一套与服务器数据的交互规则如果你了解REST架构就能够轻松地理解它们而数据的同步工作会在Model中自动进行前端开发人员只需对客户端数据的进行操作Backbone会自动将操作的数据同步到服务器。 这是件非常有趣的事情因为服务器数据接口对前端开发者来说是透明的他们不需要再关心如何和服务器交互。 然而服务器提供的数据接口也需要兼容Backbone的规则对于一个新的项目来说我们可以尝试使用这套规则来构建接口。但如果你的项目中已经有一套稳定的接口你可能会担心接口改造的风险。 没关系我们可以通过重载Backbone.sync方法来适配现有的数据接口针对不同的客户端环境我们还可以实现不同的数据交互方式。例如用户通过PC浏览器使用服务时数据会实时同步到服务器而用户通过移动终端使用服务时考虑到网络环境问题我们可以先将数据同步到本地数据库在合适的时候再同步到服务器。而这些只需要你重载一个方法就可以实现。 2.5 界面事件管理 在MVC中我们希望能将界面展现和业务逻辑完全分离但对于用户产生的交互事件如单击事件我们却常常通过类似jQuery中的bind方法进行获取和绑定。 Backbone中的视图帮助我们将用户事件和执行方法有序的组织起来这只需要我们声明一个简单的表达式例如 [javascript] view plain copy events: {      // 单击id为”save”的元素时执行视图的add方法      click #save: add,      mousedown .button: show,      mouseover .button: hide  }   在表达式中事件名称可以是任意的DOM事件如click、mouseover、keypress等元素可以是jQuery支持的任意选择器如标签选择器、id选择器、class选择器等。 视图会自动将表达式中的事件绑定到选择器元素当元素的事件被触发后视图会自动调用表达式中绑定的方法。 2.6 轻量级模板解析 模板解析是Underscore中提供的一个方法。为什么我要在介绍Backbone特性时引入Underscore中的方法因为该方法能帮助我们更好地分离视图结构和逻辑且Underscore是Backbone必须依赖的库。 模板解析方法能允许我们在HTML结构中混合嵌入JS代码就像在JSP页面中嵌入JAVA代码一样 [html] view plain copy ul      % for(var i  0; i  len; i) { %      li%data[i].title%/li      % } %  /li   通过模板解析我们不需要在动态生成HTML结构时拼接字符串更重要的是我们可以将视图中的HTML结构独立管理例如不同的状态可能会显示不同的HTML结构我们可以定义多个单独的模板文件按需加载和渲染即可。 2.7 自定义事件管理 在Backbone中你可以使用on或off方法绑定和移除自定义事件。在任何地方你都可以使用trigger方法触发这些绑定的事件所有绑定过该事件的方法都会被执行如 [javascript] view plain copy var model  new Backbone.Model();  // 在model对象中向自定义事件custom绑定两个函数  model.on(custom, function(p1, p2) {      // todo  });  model.on(custom, function(p1, p2) {      // todo  });  // 触发custom事件将调用上面绑定的两个函数  model.trigger(custom, value1, value2);  // 移除custom事件中绑定的所有方法  model.off(custom);  // 触发custom事件但不会执行任何函数已经事件中的函数已经在上一步被移除  model.trigger(custom);   如果你熟悉jQuery你会发现它们与jQuery中的bind、unbind和trigger方法非常类似。 另外Backbone支持一个特殊事件”all”当在一个对象中绑定了名为”all”的事件后该对象在触发任何事件时都会同时触发”all”事件中绑定的方法。有时这种方法会非常有用例如我们可以通过”all”事件监听对象状态的变化。 2.8 路由器 在单页应用中我们通过JavaScript来控制界面的切换和展现并通过AJAX从服务器获取数据。 可能产生的问题是当用户希望返回到上一步操作时他可能会习惯性地使用浏览器“返回”和“前进”按钮而结果却是整个页面都被切换了因为用户并不知道他正处于同一个页面中。 对于这个问题我们常常通过Hash锚点的方式来记录用户的当前位置并通过onhashchange事件来监听用户的“前进”和“返回”动作但我们发现一些低版本的浏览器例如IE6并不支持onhashchange事件。 Backbone提供了路由控制功能通过Backbone提供的路由器我们能通过一个简单的表达式将路由地址和事件函数绑定在一起例如 [javascript] view plain copy var CustomRouter  Backbone.Router.extend({      routes: {          : index, // 当URL Hash在根目录时执行index方法url#          list: getList, // 当URL Hash在list节点时执行getList方法url#list          detail/:id: query, // 当URL Hash在detail节点时执行query方法并将detail后的数据作为参数传递给query方法url#list/1001          *error: showError // 当URL Hash不匹配以上规则时, 执行error方法      },      index: function() {          alert(index);      },      getList: function() {          alert(getList);      },      query: function(id) {          alert(query id:   id);      },      showError: function(error) {          alert(error hash:   error);      },  });    var custom  new CustomRouter();  Backbone.history.start();   请尝试将这段代码复制到你的页面中并依次访问以下地址其中URL表示你的页面地址 URLURL#listURL#detail/1001URL#hash1URL#hash2请再试着使用浏览器的“返回”和“前进”按钮来回切换刚刚输入的地址。 你可以看到当URL Hash发生变化时会执行所绑定的方法当遇到没有定义的Hash时都会执行showError方法并将未定义的Hash传递给该方法。 Backbone默认会通过Hash的方式来记录地址的变化对于不支持onhashchange的低版本浏览器会通过setInterval心跳监听Hash的变化因此你不必担心浏览器的兼容性问题。 对于支持HTML5 pushState特性的浏览器Backbone还允许你通过pushState来创建个性化的URL但是这需要你的Web服务器做一些适配。 3. Backbone的适用性 Backbone并不像jQuery那样具有非常强的适用性如果你正准备构建一个大型或复杂的单页Web应用那么Backbone再适合不过。 如果想将Backbone应用到你的网站页面中且页面中并没有复杂的逻辑和结构那么这只会让你的页面更加繁琐和难以维护。 如果你的项目并不复杂但你却深深喜欢它的某个特性(可能是数据模型、视图管理或路由器)那么你可以将这部分源码从Backbone中抽取出来因为在Backbone中各模块间的依赖并不是很强你能轻易的获取并使用其中的某一个模块。 4. 依赖库 你不能独立使用Backbone因为它的基础函数、DOM操作、AJAX都依赖于第三方库。 4.1 Underscore 必选 Underscore是一个用于提高开发效率的基础函数库它封装了对集合、数组、对象、函数的常用操作就像jQuery封装DOM对象一样你能通过Underscore轻易地访问和操作JavaScript内部对象。 Underscore还提供了一些非常实用的函数方法如函数节流、模板解析等。 关于Underscore中一些主要的方法我会在下一章详细介绍但在此之前你必须了解Underscore是Backbone必须依赖的库因为在Backbone中许多实现都是基于Underscore。 4.2 jQuery和Zepto 可选 相信你对jQuery一定不会陌生它是一个跨浏览器的DOM和AJAX框架。 而对于Zepto你可以理解为“移动版的jQuery”因为它更小、更快、更适合在移动终端设备的浏览器上运行它与jQuery语法相同因此你能像使用jQuery那样使用它。 Zepto目前仅支持Webkit内核的浏览器因此它能兼容IOS、Adnroid、塞班、黑莓和Meego等大部分移动系统而对于Windows Phone或Firefox OS它暂时还不支持。 因为jQuery和Zepto语法相同因此对于Backbone来说你无论是使用jQuery还是Zepto都没有问题当然你不可能两个同时都用到。 在Backbone中DOM选择器、DOM事件和AJAX都使用了jQuery的方法。这里之所以所它们是可选的是假设你没有用到Backbone中的视图和AJAX数据同步功能那么就不需要导入它们。 如果你不想使用jQuery或Zepto而是使用其它的、或自定义库只要你的库中实现了与jQuery语法相同的DOM选择器、事件管理和AJAX方法那么就不会任何问题。 Backbone允许你通过setDomLibrary方法动态配置需要使用的第三方库这种情况常常用于 你的自定义库虽然包含了和jQuery相同语法的方法但全局变量并不是$而且你想保持现有的命名。这时你可以通过setDomLibrary方法将其设置为Backbone内部引用的对象。 你希望通过检查用户的环境来决定更适合使用哪一个库。例如如果用户使用PC浏览器访问则载入jQuery如果用户通过移动终端访问则载入Zepto。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/89105.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

知名的网站建设公司杭州网络公司有哪些

摘要 二十一世纪是信息技术的时代,计算机已经应用到了各行各业中。采用计算机信息管理技术,可以有效的降低企业的管理成本,提高企业内部的工作效率。 本文从天天宾馆客房客房管理的一般流程出发,设计了一套天天宾馆客房管理信息系统,它可以管理天天宾馆客房中所有的客房的…

怎么登录百度app响应式网站做seo怎么样

文章目录 正则表达式概述使用场景不同环境下的正则表达式范例Linux (使用grep命令)Java (使用Pattern和Matcher类)Python (使用re模块) 正则表达式概述 正则表达式(Regular Expression,简称regex或regexp)是一种强大的文本处理工具&#xff…

做淘宝首页初学ps视频网站免费域名查询

以下源码基于rocketmq-spring-boot-start 2.1.1版本,其它版本可能会有差异 一. 前言 当我们在Spring Boot项目中集成RocketMQ后,只需要在配置文件(application.yml)中添加rocketmq的相关配置,即可使用rocketMQTemplate发送对象消息。登录Ro…

北京网站建设公司服务有哪些自适应网站开发资源

概述 目前代码比较少,写在一个文件中还体现不出什么缺点,但是随着代码量越来越多, 代码就越来越难以维护 为了解决难以维护的问题,我们把很多相似功能的函数分组,分别放到不同的文件中取。这样每个文件所包含的内容相…

国外域名购买网站如何建一个营销网站

大家好,我是若川。说起 Serverless,我想你应该并不陌生,作为一种云开发的架构模式,在近两年里,伴随着云原生概念的推广愈发火爆。作为一名 Serverless 的拥趸,在跟大家推荐的过程中,我经常能看到…

新手怎样学校做网站网站服务器返回状态码404

Python文件操作与面向对象 一、文件备份案例 1、实例代码 # 1、接收用户输入的文件名(要备份的文件名) oldname = input(请输入要备份的文件名称:) # python.txt # 2、规划备份文件名(python[备份].txt) # 搜索点号 index = oldname.rfind(.) # 返回文件名和文件后缀 …

常州网站建设效果网站做cdn需要注意什么

在数字化时代,企业需要借助先进的数字化技术来提高工程管理效率和质量。招投标管理系统作为企业内部业务项目管理的重要应用平台,涵盖了门户管理、立项管理、采购项目管理、采购公告管理、考核管理、报表管理、评审管理、企业管理、采购管理和系统管理等…

餐厅网站源码如何搭建app开发平台

目录 1.背景 2.ELK的配置 2.1.下载 2.2.关闭防火墙 2.3.安装elasticsearch 2.4.安装Logstash 2.5.安装Kibana 2.6.Java日志输出到Logstash 2.7.OSS版本 3.Kafka的配置 3.1.zookeeper搭建 3.2.kafka搭建 4.整合 1.背景 高日志压力情况下,为了避免Logsta…

企业网站功能描述泰安人力资源官网

构造一句话PHP木马 <?php eval(system($_POST[shell])); ?> 利用eval函数解析$shell的值使得服务器执行system命令 eval函数是无法直接执行命令的&#xff0c;只能把字符串当作php代码解析 这里我们构造的木马是POST的方式上传&#xff0c;那就用MaxHacKBar来执行 …

如何做网站后台管理员php网站用的是什么语言写的

前阵子一位读者告诉我&#xff0c;某位大厂HR给他发了我之前做的面试题答案合集。 这个消息让我开心了一整天&#x1f602;&#xff0c;因为这说明我之前做的面试题系列真的能帮助到部分测试同学&#xff0c;也算是侧面得到了一种认可吧。 坚持可是我们程序员家族的优良传统&a…

显示网站建设精美页面房山新农村建设网站

参考&#xff1a;自己实现一个SQL解析引擎_曾经的学渣的博客-CSDN博客

做完整的网站设计需要的技术企业策划书范文

简介&#xff1a;欢迎来到未来 您可能听说过人工智能聊天机器人和大型语言模型 (LLM)&#xff0c;对吧&#xff1f; 这些技术奇迹正在重塑企业的沟通和运营方式。 但是&#xff0c;这是一个价值百万美元的问题&#xff1a;哪一个适合您的业务&#xff1f; 让我们深入了解一下&…

网站图片展示源代码长宁集团网站建设

ES6 为数组新增了一些非常有用的 API&#xff0c;这些 API 提高了数组操作的便利性和效率。以下是 ES6 给数组新增的主要 API 及其详细解释和示例&#xff1a; 1. Array.from() Array.from() 方法从类数组对象或可迭代对象创建一个新的数组实例。 const arrayLike {0: a,1:…

哈尔滨网站开发方案上海网站制作网络推广方法

人工智能&#xff08;AI&#xff09;技术的迅猛发展正在深刻改变我们的生活和工作方式。你是否曾想过&#xff0c;未来的工作场景会是什么样子&#xff1f;AI的崛起不仅仅是科技的进步&#xff0c;更是我们生活方式的革命。今天&#xff0c;我们将深入探讨三种主要的AI能力&…

故城县网站建设服务商业网站开发

Android Jetpack组件架构&#xff1a;ViewModel的原理 导言 本篇文章是关于介绍ViewModel的&#xff0c;由于ViewModel的使用还是挺简单的&#xff0c;这里就不再介绍其的基本应用&#xff0c;我们主要来分析ViewModel的原理。 ViewModel的生命周期 众所周知&#xff0c;一般…

张家口建站优化可以推广发广告的app

Fiber 上篇文章fiber简单理解记录了react fiber架构&#xff0c;Hooks是基于fiber链表来实现的。阅读以下内容时建议先了解react fiber。 jsx -> render function -> vdom -> fiber树 -> dom vdom 转 fiber 的过程称为 recocile。diff算法就是在recocile这个过程…

济宁祥云网站建设360弹出网站

django部署在iis下&#xff0c;webconfig错误错误原因&#xff1a;iis7以后&#xff0c;web.config管理机制更安全了默认情况下&#xff0c;会锁住配置项&#xff0c;不许修改怎么办&#xff1f;如何求解以上问题呢&#xff1f;D:django_websiteshello>%windir%C:Windows 不…

花木网站建设龙华网站建设设计公司

当MySQL使用Unix Socket启动时&#xff0c;直接使用localhost会发生了一个数据库错误&#xff0c;发生无法连接数据库错误。 Warning: mysql_connect() [function.mysql-connect]: [2002] 这时应当修改hostname&#xff0c;例如在CI 配置数据库 (database.php) 从&#xff1a; …

建立企业网站的技能wordpress扁平主题

首先唱名&#xff08;do、re、mi、fa、sol、la、si 1234567&#xff09;先对应在 小字一组上&#xff0c;一般调号 1c 时都是对应在 小字一组上 然后从 小字一组 开始往左或往右&#xff0c;往左的音是越低的&#xff0c;往右的音是越高的&#xff0c;这时也需要给唱名&#xf…

鞍山最新消息动态ip做网站影响seo吗

题目描述 mobiusp 创作了一首 n 个音符的乐曲&#xff0c;其中第 iii 个音符的音高为 ai​ &#xff0c;但是 mobiusp 对以前的创作风格和黑历史很不满意&#xff0c;他希望所有音符的音高 ai 都是 1∼7 的正整数&#xff0c;且相邻的音高差不超过 k 。 现在他要修改若干个音符…