模板Vue.component的使用 父件参数传递

本文介绍了一个基于Vue.js的自定义通知组件实现。该组件通过设置延迟时间来自定义显示时长,并利用watch监听显示状态,自动关闭通知。文章提供了完整的HTML、JavaScript代码示例,展示了如何在Vue项目中集成并使用这一组件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、前端HTML页面

//HTML
<hm-ui-notify ref="uinotify" :delay="5000"></hm-ui-notify>
//js
that.$refs.uinotify.Open("err:"+response.message); //uinotify对应上句标签里的参数

2、模板

<script type="text/javascript">
    "use strict";

    Vue.component('hm-ui-notify', {
        template    : '#hmUiNotify',
        props       : {
            delay   : {   //delay对应前端:delay="5000"   
                type    : Number,
                default : 2000
            }
        },
        data() {
            return {
                show    : false,
                message : null
            }
        },
        watch   : {
            'show'  : {
                handler: function(val) {
                    if (val) {
                        setTimeout(() => {this.show = false;}, this.delay);
                    } else {
                        this.message = null;
                    }
                },
                deep   : false
            },
        },
        methods: {
            // Alert 消息提示
            Open(notify) {  //对应前端open
                this.show = true;
                this.message = notify;
            },

            incrementCounter: function () {
                this.counter += 1
                this.$emit('increment');
            }
        },
    });
</script>
### 回答1: `Vue.use` 和 `Vue.component` 都是 Vue.js 框架中用来注册全局的方法,但它们的使用方式和作用略有不同。 `Vue.use` 方法用来安装 Vue.js 插,这些插可以是 Vue.js 的内置插或第三方插。这个方法会在全局 Vue 实例上安装一个插,并且可以递一些参数给这个插。例如,我们可以使用 `Vue.use` 来安装 Vuex 或 Vue Router 等插。 示例: ``` import Vue from 'vue'; import Vuex from 'vuex'; Vue.use(Vuex); const store = new Vuex.Store({ // state, mutations, actions, getters... }); new Vue({ el: '#app', store, render: h => h(App) }); ``` `Vue.component` 方法用来注册全局,这些组可以在应用的任何地方使用。注册组后,就可以在组模板使用这个组了。 示例: ``` import Vue from 'vue'; import MyComponent from './MyComponent.vue'; Vue.component('my-component', MyComponent); new Vue({ el: '#app', render: h => h(App) }); ``` 在上面的示例中,我们使用 `Vue.component` 方法来注册一个名为 `my-component` 的全局,并指定组的实现是 `MyComponent.vue` 文中导出的组。现在,在应用的任何地方都可以使用 `<my-component>` 标签来使用这个组。 ### 回答2: vue.use和vue.componentVue.js中两个不同的API。 vue.use是用来安装Vue.js插的方法。它会调用入插对象的install方法,并且可以在全局范围内使用的方法、指令或组使用vue.use可以全局注册一个插,例如使用第三方插vue-router、vuex等。 vue.component是用来注册组的方法。它可以注册一个全局或局部组全局意味着可以在整个应用中使用这个组,而局部组只能在该组内部使用。通过vue.component可以入组的名称和选项,例如template、data、methods等,来定义一个组。注册完组后,可以在template中使用这个组。 总结来说,vue.use是用来安装插的方法,而vue.component是用来注册组的方法。使用vue.use可以全局注册插使用vue.component可以全局注册组或局部注册组。 ### 回答3: vue.use是用来安装Vue的方法,它接收一个插作为参数,然后将该插安装到Vue中。通过调用插的install方法,可以在插内部进行一些初始化操作,例如注册全局、添加自定义指令、扩展Vue的原型等。使用vue.use方法安装插后,该插的功能就可以在整个应用中使用了。 而vue.component是用来注册全局的方法,它接收两个参数,组的名称和组的选项对象。该方法会将组注册到Vue全局列表中,使得在任何组中都可以使用该组。注册组后,我们可以在模板中通过标签的方式来使用该组,并在组选项对象中定义组的属性、方法、生命周期钩子等。 综上所述,vue.use方法是用来安装插的,而vue.component方法用来注册全局使用vue.use方法安装插时,可以实现一些全局的功能扩展;而使用vue.component方法注册全局时,可以在各个组使用该组。两者的区别在于使用的场景和功能,vue.use用于插的安装,vue.component用于组的注册。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值