其他分享
首页 > 其他分享> > Vue的全局注册和局部注册

Vue的全局注册和局部注册

作者:互联网

Vue的全局注册和局部注册

1.Vue 全局注册

示例代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Vuejs定义组件</title>
    <script src="../node_modules/vue/dist/vue.js"></script>
</head>
<body>
    <div id="app">
        <!-- 使用组件 -->
       <my-button></my-button>
       <my-button></my-button>
       <my-button></my-button>
    </div>

    <script type="text/javascript">
		//定义组件
        const MyButton = {
            //渲染模版
            template : `<button @click="calc()">你点击了: {{num}}次!</button>`,
            //组件数据(必须是一个函数)
            data: function () {
                return{
                    num: 1
                }
            },
            //组件属性
            props: {

            },
            //计算属性
            computed: {

            },
            //方法
            methods: {
                calc: function () {
                    this.num++;
                }
            },
            //监控属性
            watch: {

            },
            //生命周期钩子
            created(){

            }
        };


        Vue.component("MyButton",MyButton);
		// 创建Vue实例
        var vue = new Vue({
            el : '#app', // 渲染的html元素
            data : { // 数据对象

            }
        });

    </script>
</body>
</html>

2.Vue 局部注册

局部注册的组件,只能在当前的Vue实例中可以使用。

语法

// 局部注册组件(只有当前vue实例可以用)
components : {
    "my-button" : MyButton
}

示例代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Vuejs定义组件</title>
    <script src="../node_modules/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
    <!-- 使用组件 -->
    <my-button></my-button>
    <my-button></my-button>
    <my-button></my-button>
</div>

<script type="text/javascript">
    // 定义组件
    const MyButton = {
        // 渲染模板
        template : `<button @click="calc()">你点击了: {{num}}次!</button>`,
        // 组件数据 (必须是一个函数)
        data : function () {
            return {
                num: 1
            }
        },
        // 组件属性
        props : {

        },
        // 计算属性
        computed : {

        },
        // 方法
        methods : {
            calc : function () {
                this.num++;
            }
        },
        // 监控属性
        watch : {

        },
        // 生命周期钩子
        created (){

        }
    };
    // 创建Vue实例
    var vue = new Vue({
        el : '#app', // 渲染的html元素
        data : { // 数据对象

        },
        // 局部注册组件(只有当前vue实例可以用)
        components : {
            "my-button" : MyButton
        }
    });

</script>
</body>
</html>

效果

在这里插入图片描述

Memorial Day is 509 days
I miss you
xiaokeai

标签:Vue,component,MyButton,num,注册,组件,全局
来源: https://blog.csdn.net/weixin_42914989/article/details/113920783