Web前端开发网

fly63.com

首页 资源 工具 文章 教程 栏目
  • 在线搜索
  • 文章标签
  • 广告合作
  • 赞助一下
  • 关于我们
资源推荐
阿里云优惠券
卓越的云计算技术和服务提供商
腾讯云优惠券
云服务器,云数据库,CDN,域名注册等多种云计算服务
扣子Coze
创建属于你的 AI 应用,AI Agent智能办公平台
豆包AI
字节跳动旗下 AI 智能助手
即梦AI
一站式智能创作平台,即刻造梦
AiPPT
全智能AI一键生成 PPT
堆友AI
零门槛,多风格AI绘画免费生成,电商海报设计神器
蜂小推
不扣量的项目推广平台
SpeedAI
一键去重、降AIGC率、数据可视化、论文写作

资源分类

AI智能 酷站推荐 招聘/兼职 框架/库 模块/管理 移动端UI框架 Web-UI框架 Js插件 Jquery插件 CSS相关 IDE环境 在线工具 图形动效 游戏框架 node相关 调试/测试 在线学习 社区/论坛 博客/团队 前端素材 图标/图库 建站资源 设计/灵感 IT资讯
网站收录 / 问题反馈

Ractive.js

分享
复制链接
新浪微博
QQ 好友

扫一扫分享

网站地址:https://github.com/ractivejs/ractive
GitHub:https://ractive.js.org/
网站描述:一个 JavaScript Dom操作库
访问官网
GitHub

Ractive 是一个 JavaScript 库,用于以不强迫用户进入特定框架的思维方式的方式构建反应式用户界面。它采用了完全不同的 dom 操作方法-节省了用户和浏览器不必要的工作。它实现了数据绑定、DOM实时更新、模板、事件处理等多个有用的功能,它专注于UI层,学习成本低


功能:

  • 数据绑定,具有漂亮的声明性语法。
  • 使用户在进行事件处理不会费劲。
  • 灵活而高效的动画和过渡


一、hello world

首先创建一个index.html,引入ractive.js,并添加一个容器元素来渲染模板:

<body>
    <div id='container'></div>
    <script src='Ractive.js'></script>
</body> 

编写模板并实例化一个Ractive对象

    <div id='container'></div>

    <script id='template' type='text/ractive'>
        <h1></h1>
    </script>
    <script src='ractive.js'></script>
    <script>
    var ractive = new Ractive({
        el: 'container',
        template: '#template',
        data: { name:"Hello world"}
    });
    </script>

二、数据的更新

ractivejs数据的更新类似set、get存取器,通过set来更新数据,通过get来获取数据,例如上面Helloworld的例子中,我们打开控制台输入ractive.set('name',"alibaba"),你会看到页面上会立即更新,同时我们通过ractive.get('name')可以获取当前name的值

var list = [{name:"Jim"},{name:"LUCY"},{name:"LILY"}]
var listView = new Ractive({
    el: 'container',
    template: '#template',
    data: { list:list}
});
    //修改list第一个值为sone
  listView.set('list.0.name','sone');
  //获取修改后的值
  console.log( listView.get('list') );

这里通过set('list.0.name')来动态修改数组第一个元素的name值.list.0表示数组的第一个元素.


三.数据的双向绑定

理解并掌握数据的双向绑定可以很大程度上提高我们的开发效率,不用再写那些繁琐的DOM操作代码

  <div><h2>订阅报警状态:</h2>
  <label><input type='radio' name='' value='Error' checked> red</label>
  <label><input type='radio' name='' value='Warning'> green</label>
  <label><input type='radio' name='' value='Critical'> blue</label>
  <p>当前报警状态: </p>
</div>

上面代码为模板代码,通过简单模板我们就可以实现数据的双向绑定,将数据(javascript对象)映射到view层,界面的操作都会同步更新数据.这里我们可以通过listView.get('status')获取当前选中状态的值,同样可以通过set方法设置值. 在看一个复选框的例子

<li><input type='checkbox' name='' value=''> </li>

在控制台执行listview.get('selected'),你会发现返回的是一个数组,包含已选择的checkbox的值. 

通常双向绑定都会提供一个watch功能,在ractivejs中实现watch是observe方法,它监听绑定数据的变化,在上面的radiobox的demo上我们扩展一个功能,当选中error时,弹出一个提示框

  listView.observe('status',function(newvalue,oldvalue){
    if(newvalue==="Error"){
        alert('你选择了Error')
    }
})

observe的回调中返回newcalue与oldvalue,分别对应的是改变之后与改变之前的值.其它对绑定数据的操作例如push、splice都会触发observe


四.事件处理

使用ractivejs时,我们使用代理事件的方法,首先在模板声明代理事件,然后在js代码中订阅事件



    <li> <button on-click="del:">删除</button></li>

  <p><input type="text" value="" ><button on-click="add">添加</button></p>
  <p><button on-click="show">查看当前列表的值</button></p>
listViewevent.on({
    add:function(){
        var name = this.get('name');
        if(name.replace(/(^s*)|(s*$)/g, "").length===0){
            return
        }
        this.push('list',name);
    },
    del:function(event,index){
        this.splice('list',index,1)
    }
})

特别注意的是上面的del方法,我们传了一个index参数,这个参数表示当前数组元素的索引,这个index值是在模板中通过del:方式传进去的.同时我们可以看到,大部分逻辑都是在操作数据,ractivejs官方也提供了很多操作数据的方法.


仅供个人学习参考/导航指引使用,具体请以第三方网站说明为准,本站不提供任何专业建议。如果地址失效或描述有误,请联系站长反馈~感谢您的理解与支持!

链接: https://fly63.com/nav/3249

更多»
热门资源
Vue
Vue.js是一套构建用户界面的渐进式JavaScript框架
官网
GitHub
react
Facebook开发的一款高效、灵活、声明式设计的JS库
官网
GitHub
AngularJS
Google推出有条理,可维护,易编程的MVVM框架
官网
GitHub
backbone
提供:模型、集合、视图,开发重量级的javascript应用的框架
官网
GitHub
jquery
一个快速、简洁的JavaScript代码库
官网
GitHub
zepto.js
一个轻量级的针对现代高级浏览器的JavaScript库
官网
GitHub
Ember
JavaScript MVC框架,它用来创建复杂的Web应用程序,消除了样板
官网
GitHub
nw.js
轻量级桌面应用开发的捷径
官网
GitHub
socket.io
一个WebSocket库,包括了客户端的js和服务器端的nodejs
官网
GitHub
nuxt.js
基于 Vue.js 的轻量级、服务端渲染 (SSR) 应用框架
官网
GitHub
Next.js
实现react的服务端渲染的框架
官网
GitHub
Electron
基于Chromium 和 Node.js, 使用 JavaScript, HTML 和 CSS 构建跨平台的桌面应用
官网
GitHub
类似于Ractive.js的资源
cool-admin
基于egg.js的后台开发框架
官网
Scala.js
将 Scala 语言编译成 JavaScript 的工具
官网
GitHub
SvelteKit
一个基于 Svelte 框架构建的全栈 Web 应用程序开发框架
官网
GitHub
hox
下一代 React 状态管理器
点击进入
GitHub
ShareDB
用于并发编辑系统的前端数据库
点击进入
GitHub
Lit
一个基于 Web-Component 构建的前端框架
官网
GitHub
go-zero
开箱即用的微服务框架
官网
GitHub
react-move
React的精美,数据驱动动画库
官网
GitHub
目录

手机扫一扫预览

》
分享组件加载中...
首页 技术导航 在线工具 技术文章 教程资源 前端标签 AI工具集 前端库/框架 实用工具箱 广告合作 关于我们

Copyright © 2018 Web前端开发网提供免费在线工具、编程学习资源(教程/框架/库),内容以学习参考为主,助您解决各类实际问题,快速提升专业能力。