每个自定义标签从编译到构建,到最后的销毁,riot.js都提供了相应的事件。
内置有4种事件:
update
在标签真正刷新ui前执行。它允许我们在更新ui前,改写context的数据
updated
在标签ui更新之后执行。这时候,我们可以对dom进行操作了
mount
在标签构建完成,放在页面后执行。
unmount
当标签从页面移除的时候执行。【一般是调用this.unmount()时执行】
打个例子:
[code]
效果如下:

输出分别为: update -> updated -> mount
因为没有调用this.unmount();
所以没打印出 unmount
事件的绑定,也可以类似jquery一样,一次绑定多个事件,又或者自己去触发事件
绑定多个:
[code]this.on("update mount", function(){
// update和mount都会经过这里
});触发事件:
UQCMS云商是一款B2B2C电子商务软件 ,非常适合初创的创业者,个人及中小型企业。程序采用PHP+MYSQL,模板采用smarty模板,二次开发,简单方便,无需学习其他框架就可以自行模板设计。永久免费使用,操作简单,安全稳定。支持PC+WAP+微信三种浏览方式,支持微信公众号。
[code]this.trigger("update", "参数1", "参数2"...);新手遇坑:
unmount事件,在this.unmount()之后触发,或者自定义标签,重新构建时,自动触发
[code]riot.mount("todo");
riot.mount("todo"); // 第二次会先触发unmount,然后才是update/updated/mount事件回调的第一个参数,并不是event
[code]this.on("update", function(a, b){
console.log(a, b); // 1, 2
});
this.trigger("update", 1, 2);这一点跟jquery是大大的不一样
以上就是riot.js学习【三】事件的内容,更多相关内容请关注PHP中文网(www.php.cn)!









