首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    1.初识backbone.js

    backbone.js,不知道作者是以什么样的目的来对其命名的,可能是希望这个库会成为web端开发中脊梁骨。 好了,八卦完了开始正题。...backbone.js提供了一套web开发的框架,通过Models进行key-value绑定及custom事件处理,通过Collections提供一套丰富的API用于枚举功能,通过Views来进行事件处理及与现有的...整体上来说,backbone.js是一个web端javascript的mvc框架,算得上是重量级的框架。它能让你像写java代码一些写js代码,定义类,类的属性以及方法。...当界面上的操作引起model中属性的变化时,model会触发change的事件;那些用来显示model状态的views会接受到model触发change的消息,进而发出对应的响应,并且重新渲染新的数据到界面...在一个完整的backbone应用中,你不需要写那些胶水代码来从DOM中通过特殊的id来获取节点,或者手工的更新HTML页面,因为在model发生变化时,views会很简单的进行自我更新。

    1.2K20

    backbone.js中的异常处理

    今天收到一个网友(暖阳下的懒猫)对backbone.js中的提问邮件,回答了下,觉得应该有其他人也会遇到这样的问题,于是征求了暖阳下的懒猫同意,把邮件发到这里,下面是邮件内容: 暖阳下的懒猫: hi...还有比如一个model的修改如save,destroy都会触发change事件导致view的render,如果发生错误怎么阻止render?...看了一些文章都讲的是成功的情况,所以想了解一下出错的情况下怎么处理,不知道你能不能抽时间给我讲解一下,谢谢啦。...回复: 很高兴我的笔记对你有启发 :- ) 发生错误这个问题原先还真没考虑到。 刚才看了下,如果是server端的异常的话,是可以在backbone.js中处理的。...希望能够解答你的问题,如果还有疑问可以继续发邮件,或者到博客留言。 另外遇到问题要多看看官方文档,虽然backbone.js的官方文档写的内容比较少,但对解决问题还是有帮助的。

    1.5K20

    Backbone事件模块及其用法

    绑定on方法 使用on方法可以给一个对象的自定义事件绑定触发该事件时执行的函数,当自定义的事件触发时,绑定的函数将会被执行。...在属性变化事件的回调函数中,通过回传的value参数获取最新修改后的属性值。...示例3:使用on方法获取属性修改前的值 在使用on方法绑定change和change属性事件时,还可以通过回调函数中的model对象获取属性修改前的所有值,如下所示: model.previous('attrName...= undefined) { console.log('你修改后的年龄为 : ' + value); } else { console.log('你手动触发了一个年龄修改事件');...参见文章:理解 backbone.js 中的 bind 和 bindAll 方法 参见原文:Understanding bind and bindAll in Backbone.js 1, 首先说熟悉的

    2.7K50

    用 jest 单元测试改善老旧的 Backbone.js 项目

    对于早期的前端 SPA 项目,Backbone.js + Require.js 是一种常见的技术组合,分别提供了基础的 MVC 框架和模块化能力。...其主要功能模块包括: Events:提供一系列事件的绑定和触发等功能 Model: 对数据或状态的转化、校验、计算派生值、提供访问控制等,也负责数据的远程同步等,并有事件触发机制;作用类似于 MobX...、绑定事件等的视图组件 在我们的实际项目中,视图层同时支持了 Backbone.View 和早期的 react@13,这也正体现了其灵活之处。...,默认零配置,但也提供了灵活的适配方法,可以适应各种项目,包括 Backbone.js 的情况。...,使其能方便的应用于各种类型既有项目的 TDD 开发和重构 之前的其他测试框架下的用例,可以快速迁移到 jest 中 Backbone.View 视图组件在经过 ES6 升级和合理封装后,可以明显改善页面的整洁度

    4.4K10

    (vue生命周期的理解)

    无法访问到数据和真实的dom和data中的数据,可以在这里面使用loading 2、created(创建后):created函数中可以对data对象里面的数据进行使用和更改,不会触发其他的钩子函数,一般可以在这里做初始数据的获取...在这里也可以更改数据,不会触发其他的钩子函数,一般可以在这里做初始数据的获取 4、mounted(挂载后):mounted钩子函数,此时,组件已经出现在页面中,数据、真实dom都已经处理好了,事件都已经挂载好了...dom与上一次的虚拟dom树利用diff算法进行对比之后重新渲染,一般不做什么事儿 6、updated(更新后):当更新完成后,执行updated,数据已经更改完成,dom也重新render完成,可以操作更新后的虚拟...(销毁后):vue实例解除了事件监听以及和dom的绑定(无响应了),但DOM节点依旧存在。...6,初始化成功 console.groupEnd(); }, //更改data对象中数据后,页面渲染新数据前的状态 beforeUpdate:function(){ console.group

    97920

    深度解析 Vue MVVM 原理实现

    实现数据绑定的做法有大致如下几种: 脏值检查(angular.js) 数据劫持(vue.js) 发布者-订阅者模式(backbone.js) 这里大致说下脏值检查: angular.js 是通过脏值检测的方式比对数据是否有变更...,来决定是否更新视图,最简单的方式就是通过 setInterval() 定时轮询检测数据变动,angular只有在指定的事件触发时进入脏值检测,大致如下: DOM事件,譬如用户输入文本,点击按钮等。...( ng-click ) XHR响应事件 ( $http ) 浏览器Location变更事件 ( $location ) Timer事件( $timeout , $interval ) 执行 $...// 给相应的data属性赋值,进而触发该属性的set方法 vm[name] = e.target.value;...daa中的属性值 get: function () { this.value = this.vm[this.name]; // 触发相应属性的get

    1.8K20

    探索从 MVC 到 MVVM + Flux 架构模式的转变

    但是 MVC 架构是好东西,其对数据、视图、逻辑有了清晰的分工,于是前端 MVC 框架(比如 backbone.js) 出来了,对于很多业务规模不大的场景,前端 MVC 框架已经够用了,它也能做到前后端分离开发单页面应用...拿 backbone.js 说,它的 Model 对外暴露了 set 方法,也就是说可以在不止一个 View 里修改同个 Model 的数据,然后一个 Model 的数据同时对应多个 View 的呈现,...假设用 react 实现,思路大体是先调用查询接口,调用成功后将获取到的数据通过 setState 存进 list 中,列表显示部分代码如下: const Decorate = (ListComponent...从 Flux 的源码中可以看出 Dispacher.js 是其的核心文件,其核心是基于事件的发布/订阅模式完成的,核心源码如下: class Dispatcher { ... // 注册回调函数...: 'GET_LIST_SUCCESS', comment: result.data })) } } 但是似乎少了点什么,当 GET_LIST_SUCCESS 成功后

    1.7K50

    react高频面试题总结(一)

    diff 算法是指生成更新补丁的方式,主要应用于虚拟 DOM 树变化后,更新真实 DOM。所以 diff 算法一定存在这样一个过程:触发更新 → 生成补丁 → 应用补丁。...但是对于合成事件来说,有一个事件池专门来管理它们的创建和销毁,当事件需要被使用时,就会从池子中复用对象,事件回调结束后,就会销毁事件对象上的属性,从而便于下次复用事件对象。...(2)使用useState时候,使用push,pop,splice等直接更改数组对象的坑使用push直接更改数组无法获取到新值,应该采用析构方式,但是在class里面不会有这个问题。...该函数会在setState设置成功,且组件重新渲染后调用。合并nextState和当前state,并重新渲染组件。setState是React事件处理函数中和请求回调函数中触发UI更新的主要方法。...该函数会在replaceState设置成功,且组件重新渲染后调用。总结: setState 是修改其中的部分状态,相当于 Object.assign,只是覆盖,不会减少原来的状态。

    1.9K50

    四、登录注册页功能实现《iVX低代码无代码个人博客制作》

    那么必然需要一个数据库进行用户的存储;在ivx 中用户存储需要一个组件“用户”,用户组件点击后台后选择私有用户组件即可进行增加: 增加完毕后可以对其进行重命名使整个项目更加清晰: 我们给登录设置事件...二、验证码获取 那么此时我们的验证码获取还未制作,那么此时给予对应的发送按钮事件: 此时直接在发起触发触发器时进行验证码获取,需要传入手机号作为对应的参数,还需要注意,类型需要选择为登录验证,...三、注册页制作 注册页与当前的登录页制作类似,直接复制整个登录块: 接着重命名为注册块,并且对应的把提示的文本更改问注册: 此时还需要更改对应的事件和新建两个组件,一个是新建一个倒计时变量命名为注册倒计时...,用于存储注册的验证码倒计时描述存储,另一个是创建一个触发器命名为注册验证码倒计时触发器: 接着更改对应的事件对象,不然的话你将会调用到登录框部分的组件内容: 接着把提示以及对应所需要的参数内容重新进行选择...,在此一定要注意,选择正确的组件,否则会出现你意想不到的错误,并且也不好排查: 此时我们测试数据: 成功后我们点击用户数据可以查看注册的用户: 我们再尝试登陆内容: 此时你可以选择注册成功后显示登录框

    1.1K20

    YashanDB数据库实例

    可以通过查看V$INSTANCE视图的STATUS更新为STARTED,确认成功启动到NOMOUNT状态。成功后,可以查看实例相关的系统视图。...如果是分布式形态,加载启动分布式的相关能力。可以通过查看V$INSTANCE视图的STATUS更新为OPEN,确认已成功启动到OPEN状态。成功后,可以提供所有正常的数据库服务。...但是事务提交时并未将data buffer中的脏页写入磁盘,由DBWR线程使用最有效的方式将已修改的脏页写入数据文件;因此会导致未提交事务的更改可能写入了数据文件中,而已提交的更改可能未写入数据文件。...如上图所示,检查点后的某些更改可能也已写入数据文件,但只有检查点前的更改才保证一定已全部被写入数据文件。# 实例恢复的阶段实例恢复分为两个阶段,两个阶段都完成实例恢复操作才算完成。...事件警报:数据库检测到严重的错误,会在第一时间收集诊断数据,分配事件编号标识,存储在自动诊断存储库中,以便问题的追踪和解决。trace日志:数据库检测到一些异常后,会自动记录trace日志。

    63810

    一些前端框架的比较(上)——GWT、AngularJS 和 Backbone.js

    Backbone.js Backbone.js 可能是我接触最早的前端 MVC/MVVM 框架(那个时候写过一点点入门的总结)。...但是 Backbone.js 说了,它的 Controller 是 Router,那好吧……)写着写着,有一种只手遮天的感觉——什么东西它都知道,它都管,包括初始化、模板渲染、DOM 操纵、事件响应、绑定等等...Model 层(Model.extend)的设计,代码风格一样,但是要纯粹得多,更符合单一职责的原则,只负责数据模型的初始化、获取、转换、校验等等。...和 Model 搭配干活的,还有一个 Collection,方便熟悉面向对象的程序员对数据进行包装分类。通常从服务端 Ajax 获取数据也是使用它来完成的。...但是需要写比 AngularJS 多得多的 JavaScript,尤其是其中的事件响应代码,还有模板渲染代码,在比较多的时候,写起来并不愉快。

    2.6K10

    前端架构101:MVC的不足与Flux的崛起

    正文从这开始~~ MVC 的不足 事件 在前几篇中,我演示了一个前端 Backbone.js MVC 框架用于解决实际问题的例子。...但 MVC 依然存在几个问题 不可预测:当一个事件发生之后,你并不知道会有谁响应这个事件,是单个对象还是多个对象会响应这个事件 级联修改:当一个事件发生之后,A 组件在接收到事件之后在响应的过程中,还可能发出其他的事件触发后续的修改...;对于消费方而言,也并不希望一视同仁的响应所有的事件 你可能会认为事件机制存在的问题是否只存在于 Backbone.js 中,那 AngularJS 这个 MVC 框架会不会好一些呢?...事件机制依然是我们许多问题里可选的解决方案之一;Backbone.js 和 AngularJS 放在现在看也依然是优秀的解决框架,但不是最优解而已。...是成功的吗?

    1.8K20

    用JavaScript实现基本的登录判定

    –在script标签或者js文件中写上页面加载事件,在加载事件中获取到两个input标签。...–每次input标签中的值更改返回一次更改的值并赋值于变量。 –在点击登录按钮时输出承载内容的变量。 注意事项: 1、 需要确保获得的值一定是输入进去的值!...2、 要知道针对元素绑定的对象 使用事件: 1、onchange:当值改变时触发该事件; 2、onclick:当鼠标点击绑定的元素时触发该事件; 3、onload:页面加载事件 难点: 1、...元素的获取 2、 对元素绑定事件 3、 获取元素的值 4、 明白全局变量,创建全局变量 过程:使用id获取到相对应的元素并为两个input标签绑定onchange事件,对button标签绑定onclick...更改后的代码部分如下: 登录成功后的浏览器页面: 登录失败后的浏览器页面: 以下是页面源码: <!

    19010

    一篇文学会商用可编辑问卷表单制作【iVX 十二】

    此时还需在前台下创建一个变量,用于判断账户是否成功登录,方便之后的用户账号获取。...我们在登录成功后提示用户登录成功,并且设置登录用户的账号为输入的账号内容,若失败则弹出失败提示: 接着我们可以尝试进行登录,正确输入注册的账号与密码则可得到登录成功提示: 二、页面编辑页制作及功能编写...在此之前需要创建一个变量用于记录点击的序号: 接着在表单内容事件中设置事件点击触发,在动作之中选择属性更改选中序号变量赋值,值的内容为当前序号: 随后我们设置属性栏中的序号文本数据绑定为选中序号变量...: 接下来为调色板添加事件,当调色板颜色改变时触发,选择对象属性设置行为当前选中序号,列为背景色,所更改的颜色则为选中的颜色: 随后预览选中需要更改背景色的行,此时点击调色板将会改变其背景色:...,用于接收服务传递过来的数据: 接着给页面添加一个事件,该事件显示时触发,触发后默认显示第一页,并且将结果赋予给分页数据变量: 接着我们为需要显示的文本绑定数据,此处以创建时间为例,将数据绑定为循环创建时的创建时间列内容

    8.9K30

    高质量编码-事件图层

    传统GIS项目中使用的图层通常是从GIS服务器中发布的WFSLayer或FeatureLayer服务,而这些GIS服务的数据源多是从GIS软件中编辑完成后的用于描述某一特定类别地理要素的文件...(shapefile,KML等),其中存储的地理要素通常情况下实时性不强,通常情况下变化也只是存储在数据库中的属性会更改。...但是对于像显示共享单车,航班,GPS等实时位置以及它们的历史轨迹,或者显示最近10分钟哪些地点的用户在淘宝下单。对于它们,我分别称为位置图层,轨迹图层,以及事件图层。...image.png 先说一下实现这个功能的契机,对于智慧城市相关类平台,我们可以创新地将营收,客服等业务实时数据基于事件图层接入到GIS平台。...image.png 接下来文章将分别介绍实现此功能的前端GIS开发(Backbone.js实现观察者模式,GraphicsLayer实现缴费图层),前端交互开发(bootstrap-slider实现滑块

    73330

    【面试题】90%面试中被问到的zookeeper面试题

    发生变化时,可以通过改变 zk 中某个目录节点的内容,利用 watcher 通知给各个客户端,从而更改配置。...,由于 Zookeeper 本身提供了 ordering guarantee,即客户端监听事件后,才会感知它所监视 znode 发生了变化。...一个 成功的 create() 操作会触发被创建的 znode 上的数据 watch,以及其父节点上 的 child watch。...而一个成功的 delete()操作将会同时触发一个 znode 的 data watch 和 child watch(因为这样就没有子节点了),同时也会触发其父节点的 childwatch。...⑦当一个客户端连接到一个新的服务器上时,watch 将会被以任意会话事件触发。当与一个服务器失去连接的时候,是无法接收到 watch 的。

    80220

    MySQL 教程下

    你也可以在表创建成功后,通过以下语句来实现: ALTER TABLE t AUTO_INCREMENT = 100; 视图 MySQL 5 添加了对视图的支持。视图是虚拟的表。...在游标打开后,可根据需要频繁地执行取操作。 触发器 若需要在某个表发生更改时自动处理。这确切地说就是触发器。...触发器可在一个操作发生之前或之后执行,这里给出了 AFTER INSERT,所以此触发器将在 INSERT 语句成功执行后执行。这个触发器还指定FOR EACH ROW,因此代码对每个插入行执行。...触发器按每个表每个事件每次地定义,每个表每个事件每次只允许一个触发器。因此,每个表最多支持 6 个触发器(每条 INSERT、UPDATE 和 DELETE的之前和之后)。...OFF; -- 查看事件调度器状态 SHOW VARIABLES LIKE 'event_scheduler'; 注意:如果想要始终开启事件,那么在使用 SET GLOBAL 开启事件后,还需要在

    1.7K10
    领券