首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

riot.js教程【一】简介

题记 这是一个系列文章的第一篇 如果关注riot.js的人,可以关注我的博客; 我接下来会持续不断的发这一块的文章; 系列文章内容大多来自官网翻译; Riotjs简介 Riotjs是一款简单的、优雅的...class="content">                   riot.mount...库的1/10或者1/100 不需要花大力气去学习 更少的专有的东西,更多的标准的东西; 体积非常小 polymer.html: 49.38KB (gzip) react.min.js: 34.89KB...(gzip) riot.min.js:10.38KB (gzip) 更少的BUG 下载压力更小,解析速度更快 可嵌入的,库的体积应该比应用程序的体积小才对 维护成本比较低,riot不需要一个非常庞大的团队来维护他...麻雀虽小,五脏俱全 Riotjs拥有所有必要的模块: 响应式界面编程所必须的模块; 为独立的模块编写API所必须的事件库; 控制URL前进后退功能所必须路由模块 总结 Riot是普适性的WEB UI组件化解决方案

1.9K60

微型框架 Riot.js 特性一览

注:本文基于Riot.js v2.5.0版本 Riot.js简介 类似 React 的 微型 UI 库 自定义标签/虚拟 DOM 适合编写独立组件 MVP 架构 ?...1.自定义标签 布局与逻辑耦合,可重用组件 实际上的语法糖—>编译为 JS 虚拟 DOM 单向的数据传输: update 或 unmount 都是从 父亲->孩子 预编译和缓存表达式,...some_folder/some.js # 将源目录下的所有文件编译至目的目录 riot some/folder path/to/dist # 将源目录下的所有文件编译(合并)到单个js文件 riot...some/folder all-my-tags.js 参数: -w watch 目录 有变化自动编译 -ext html 指定后缀名 --config config 使用config.js作配置文件...--type 指定 js 处理器 --template 指定 HTML 模板 ​ 预处理器 ​ 7.观察者 Observable

94330
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    riot.js教程【四】Mixins、HTML内嵌表达式

    前文回顾 riot.js教程【三】访问DOM元素、使用jquery、mount输入参数、riotjs标签的生命周期; riot.js教程【二】组件撰写准则、预处理器、标签样式和装配方法; riot.js...(mixinObject) 与共享mixins不同,全局mixins会直接被所有的标签加载; 要谨慎使用全局的mixins HTML内嵌表达式 可以在HTML内部嵌入用大括号包裹的JS表达式, 大括号包裹的...JS表达式既可以被用于文本标签,也可以被用于HTML属性 { /* nested_expression */ } 140 && 'Message is too long' } { Math.round(rating) } 为了使你的HTML标签保持clean 建议原则是尽量使用简洁的JS...= '${ }' riot.settings.brackets = '\{\{ }}' 注意,标注之间要用一个空格隔开 riotjs的表达式,只能输出(渲染)纯文本的字符串值; 不能输出(

    1.1K70

    riot.js教程【五】标签嵌套、命名元素、事件、标签条件

    前文回顾 riot.js教程【四】Mixins、HTML内嵌表达式 riot.js教程【三】访问DOM元素、使用jquery、mount输入参数、riotjs标签的生命周期; riot.js教程【二...】组件撰写准则、预处理器、标签样式和装配方法; riot.js教程【一】简介; 标签嵌套 让我们定义一个父标签account,一个子标签subscription { opts.plan.name } // Get JS...('account', { plan: { name: 'small', term: 'monthly' } }) 父标签的参数是通过riot.mount方法传递的,子标签的参数是通过标签属性传递过去的...yield占位符输出的,其实是text变量 这就是在标签内嵌入HTML代码 命名元素 当元素具备ref属性的时候, 这个元素会被链接到this.refs上, 这样你就可以很方便的用JS访问到它 <login

    3.9K80

    深入探讨前端UI框架

    为什么riot还声称它实现了virtual DOM?...上图是MVVM框架的图示,取自阮大大的blog MVVM把model和view分离,把model和view的通信以及处理逻辑封装在vm对象中 使得vm对象可复用,同一个vm对象可以绑定不同的view 另外...riot主要解决react的两个痛点: jsx难以理解 react库太大 解决方案: 参考web component组织html,js,css 实现粗粒度的virtual DOM 第一点就不多说了 关于第二点...但是riot参考react,也有props(静态)和本身数据(动态),具有和react一样的输入 检查更新的过程就是dirty check,但是和AngularJs的做法不同,riot只做一轮,它和react...一样,没有sotre,因此没有watcher,也不需要等待store稳定 至于输出,riot没有与react一样,UI更新语句序列也是分布式的 最终得出的结论,riot的实现实际上就是react + angular

    82120

    riot.js教程【二】组件撰写准则、预处理器、标签样式和装配方法

    基本要求 一个riot标签,就是展现和逻辑的组合(也就是html和JS) 以下是编写riot标签最基本的规则: 先撰写HTML,再撰写JSJS代码可以写在标签内部,但这并不是必须的;...当riot标签定义在document body之内时,其内部不能使用script标签; 当riot标签定义在单独的文件中时,其内部才可以使用script标签; 如果JS代码没有写在标签内部..., 那我们就认为最后一个HTML标签结尾之后就是JS代码; riot标签可以是空的,或者只有HTML,或者只有JS; 引号是可选的,等价于...代码,可以正确执行 riotjs标签内部最后一个html标签结束后,就可以直接写JS代码,不用把JS代码写在标签内部; 声明预处理器 你可以通过type属性指定一个JS的预处理器        <!

    1K60

    深入探讨前端UI框架

    为什么riot还声称它实现了virtual DOM?...上图是MVVM框架的图示,取自阮大大的blog MVVM把model和view分离,把model和view的通信以及处理逻辑封装在vm对象中 使得vm对象可复用,同一个vm对象可以绑定不同的view 另外...riot主要解决react的两个痛点: jsx难以理解 react库太大 解决方案: 参考web component组织html,js,css 实现粗粒度的virtual DOM 第一点就不多说了 关于第二点...但是riot参考react,也有props(静态)和本身数据(动态),具有和react一样的输入 检查更新的过程就是dirty check,但是和AngularJs的做法不同,riot只做一轮,它和react...一样,没有sotre,因此没有watcher,也不需要等待store稳定 至于输出,riot没有与react一样,UI更新语句序列也是分布式的 最终得出的结论,riot的实现实际上就是react + angular

    1.5K70

    riot.js教程【三】访问DOM元素、使用jquery、mount输入参数、riotjs标签的生命周期

    前文回顾 riot.js教程【二】组件撰写准则、预处理器、标签样式和装配方法; riot.js教程【一】简介; 访问DOM元素 你可以通过this.refs对象访问dom元素 而且还有大量的属性简写方式可以使用...,(有时候你需要对这些东西做一些特殊的处理才能用) 使用Jquery 如果你想在riot标签内部访问dom元素 你可能需要了解一下riot标签生命周期相关的知识 你会注意到,mount方法还没执行的时候...this.root.querySelectorAll('p') }) mount输入参数 你可以在初始化的时候为riotjs标签传入更多参数,比如: riot.mount...Options in JavaScript var title = opts.title riotjs标签的生命周期 riotjs标签按照如下步骤构造及渲染 Tag构造 Tag内部的js...e.preventUpdate为true) 当在Tag实例内部调用this.update()的时候 当在一个父组件实例内部调用this.update()的时候(该父组件下的所有子组件都会更新) 当调用riot.update

    1.6K70
    领券