专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

所有的vue组件都是vue实例吗_CSS学习

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/4 2:48:09       共计:3607 浏览

所有的vue组件都是vue实例吗?

很高兴回答你的问题:

vue组件和实例的关系Vue是由一个个实例构建而成的,一个组件就是一个Vue的实例,每个组件内部都可以写属性,因此每一个组件都是一个Vue的实例。每一个实例都有自己的template模板,如果没有,根节点就会去挂载点下面找,找到root会把root下面的所有DOM标签当做这个实例的模板使用。

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<meta http-equiv="X-UA-Compatible" content="ie=edge">

<title>组件与实例的关系</title>

<!-- 在head里面引入,避免闪屏问题 -->

<script src="./vue.js"></script>

</head>

<body>

<div id="root">

<div>

<!-- v-model双向数据绑定 -->

<input v-model="inputValue"/>

<!-- 绑定点击事件 -->

<button @click="handleSubmit">提交</button>

</div>

<ul>

<!-- 使用组件来实现,同时绑定属性:content="item" 传参item用以达到动态展示效果 -->

<todo-item

v-for="(item, index) of list"

:key="index"

:content="item"

></todo-item>

</ul>

</div>

<script>

// 定义全局组件

Vue.component("todo-item",{

// 传参后不能直接使用,必须接收一下才可以使用

props:['content'],

// 每一个组件都是一个实例,可以添加事件和属性

template: '<li @click="handleClick">{{content}}<li>',

methods:{

handleClick: function() {

alert("clicked")

}

}

})

new Vue({

el:"#root",

data:{

inputValue:'',

list:[],

},

// 添加事件

methods:{

handleSubmit: function(){

// 将inputValue push到数组中

this.list.push(this.inputValue),

// 清空输入框

this.inputValue=''

}

}

})

</script>

</body>

</html>

区别vue实例会比vue组件多出el和router属性,而vue组件的data会被要求必须是函数,防止出现同种组件多实例共享同一个data的事情。官网介绍

不过现在,你只需要明白所有的 Vue 组件都是 Vue 实例,并且接受相同的选项对象 (一些根实例特有的选项除外)。

从上面可以看出, vue 组件本身是一个 vue 实例,同时任何 vue 实例都可以注册为 vue 组件。

你只是把一个 vue 实例注册成了另一个 vue 实例的组件而已。

就像对象的属性也可以是对象一样,迭代关系。

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:CSS同DJS哪个发动机好一点_CSS学习 | ·下一条:自动化测试需要学哪些_CSS学习

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有