首页 web前端 js教程 riot.js学习【二】mixin

riot.js学习【二】mixin

Jan 16, 2017 pm 04:01 PM

Mixin 介绍

riot.js中,有个很重要的概念,就是mixin,顾名思义,大约的作用就是“混合”。

把对象的属性、方法,混合进当前的context上下文哈,俗点的理解,就是this对象中。

看个“栗子”:

[code]<!Doctype html>
<html>
<head>
    <meta charset="utf-8" />
    <title>Riot.js测试02, Mixin</title>
    <script type="text/javascript" src="riot.js"></script>
    <script type="text/javascript" src="compiler.js"></script>
</head>
<body>
    <todo title="da宗熊"></todo>
</body>
<script type="riot/tag">
    <todo>
        <h1>{ title || "" }</h1>
        <p>年龄: { this.getAge() } </p>
        <p>身高:{ height }cm</p>

        // 这里可以省略script标签
        this.title = opts.title || "";
        // 调用mixin,mixin拿到的,是window.mixinObj
        // 也可以混合多个 this.mixin(a, b...);
        this.mixin(mixinObj);
    </todo>
</script>
<script type="text/javascript">
    var mixinObj = {
        age: 10,
        height: 180,
        getAge: function(){
            return this.age;
        }
    };
    riot.mount("todo");
</script>
</html>
登录后复制

运行效果如下:

168.png

You see,通过 this.mixin(mixinObj); window.mixinObj的属性和方法,都体现在了this上。

注意: mixin只是将对象浅复制,所以多个自定义标签共享通过mixin对象时,小心相互影响

声明式的mixin

mixin的参数,不仅仅是对象,还能是字符串。但使用字符串时,必须事先在riot中,注册一个mixin。

注册方式:

[code]// 如果要跨项目共享 mixin,可以考虑在riot里注册一个,而不是使用window级对象
riot.mixin("defaultData", {
    author: "da宗熊",
    email: "1071093121@qq.com"
});
登录后复制

在自定义标签中使用:

[code]this.mixin("defaultData"); // 现在this拥有了author和email属性了
登录后复制


遇到的小坑

注意mixin的数序,后面的属性,会覆盖前面的属性

mixin的属性,甚至会覆盖掉this的属性

不要覆盖掉riot.js自带的属性和方法,例如: opts, update, on, off, trigger等

以上就是riot.js学习【二】mixin的内容,更多相关内容请关注PHP中文网(www.php.cn)!



本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Vue 中使用 mixin 实现 CRUD(增删改查)操作的技巧 Vue 中使用 mixin 实现 CRUD(增删改查)操作的技巧 Jun 25, 2023 pm 07:42 PM

Vue中的mixin是一个非常有用的特性,它可以将一些可重用的代码封装在一个mixin对象中,然后在需要使用这些代码的组件中使用mixin进行引入。这种方法大大提高了代码的可复用性和可维护性,特别是在一些重复的CRUD(增删改查)操作中。本文将介绍如何使用mixin在Vue中实现CRUD操作的技巧。首先,我们需要了解如何创建一个

Vue 中使用 mixin、extend、component 等 API 实现组件定制的技巧 Vue 中使用 mixin、extend、component 等 API 实现组件定制的技巧 Jun 25, 2023 pm 03:28 PM

Vue.js是一个流行的前端框架,它提供了许多API用于组件的定制。本文将介绍Vue中mixin、extend、component等API,帮助您掌握组件定制的技巧。mixinmixin是Vue中重用组件代码的一种方式。它允许我们将已经编写的代码复用到不同的组件中,从而减少重复代码的编写。例如,我们可以使用mixin帮助我们在多个组

Vue中使用mixin提高应用的代码复用性和性能 Vue中使用mixin提高应用的代码复用性和性能 Jul 18, 2023 am 11:13 AM

Vue中使用mixin提高应用的代码复用性和性能导语:随着前端应用的复杂性不断提高,代码的复用性和性能优化成为了开发者关注的重点。Vue作为一款流行的JavaScript框架,提供了使用mixin的功能来帮助我们简化代码并提高性能。本文将介绍什么是mixin以及如何在Vue中使用mixin来提高应用的代码复用性和性能。一、什么是mixin?Mixin在编程中

Vue中如何使用mixin实现组件代码复用 Vue中如何使用mixin实现组件代码复用 Jun 11, 2023 pm 12:30 PM

Vue中如何使用mixin实现组件代码复用随着应用程序越来越复杂,我们需要更多的组件化和代码复用来提高开发效率。在Vue中,mixin是一个非常简单而又非常有用的工具,它可以帮助我们实现组件代码的重用。mixin是一个类似于混合的概念,它允许在多个组件之间共享相同的代码。在Vue中,我们可以将mixin看作是一个对象,它包含一些可重用的属性和方法,可以被多个

Vue 中使用 mixin 实现列表、表格、表单等组件的复用的技巧 Vue 中使用 mixin 实现列表、表格、表单等组件的复用的技巧 Jun 25, 2023 am 08:36 AM

Vue是一个流行的JavaScript框架,有很多强大的功能和工具可以用来构建现代化、高效率的Web应用程序。其中之一就是mixin。mixin是Vue中的一种高级机制,它允许我们将组件中可复用的功能部分抽离出来,以便能够有效地复用这些功能,这在我们开发列表、表格、表单等通用的组件时非常有用。Mxin的工作原理mixin可以理解为对象的

vue中mixin和组件的区别是什么 vue中mixin和组件的区别是什么 Dec 13, 2022 pm 06:34 PM

mixin和组件的区别:组件在引用之后相当于在父组件内开辟了一块单独的空间,来根据父组件props过来的值进行相应的操作,单本质上两者还是泾渭分明,相对独立;而mixins在引入组件之后相当于父组件的各种属性方法都被扩充了,会将组件内部的内容如data等方法、method等属性与父组件相应内容进行合并。

Vue 中的 mixin 使用与应用场景 Vue 中的 mixin 使用与应用场景 Jun 11, 2023 pm 12:32 PM

随着前端技术的不断发展,Vue已经成为了众多前端开发者的首选框架之一。在Vue中,mixin是一项十分重要且实用的功能。通过使用mixin,我们可以将一些常用的逻辑代码提取出来,封装成一个对象,然后在组件中复用,从而大幅度提高代码的复用性和可维护性。一、mixin的使用在Vue中,我们可以通过定义一个对象来创建一个mixin,这个对象中可以

Vue 中使用 mixin、slot、scoped CSS 等技术实现组件高度定制的技巧 Vue 中使用 mixin、slot、scoped CSS 等技术实现组件高度定制的技巧 Jun 25, 2023 am 11:45 AM

Vue是一款非常灵活和强大的前端框架,其中有一些非常重要但不太常见的技术,例如mixin、slot和scopedCSS等,这些技术不仅可以帮助我们更好地构建组件,还可以实现组件高度定制和复用。本文将详细介绍如何在Vue中使用这些技术实现组件高度定制的技巧。一、使用mixinMixin是Vue中实现复用和共享代码的一种方式,它可以在组件中混合一些可复用的代码

See all articles