专业汉语词典知识平台,分享汉字词语知识、历史文学知识解答!

励北网
励北网

vue组件怎么写,vue组件介绍

来源:小易整编  作者:小易  发布时间:2023-02-28 04:34
摘要:vue组件怎么写,vue组件介绍一、组件化思想如果我们将一个页面中所有的处理逻辑全部放在一起,处理起来就会变得非常复杂,而且不利于后续的管理以及扩展。但我们将一个页面拆分成一个个小的功能块,每个功能块完成属于自己这部分独立的功能,那么之后整...

vue组件怎么写,vue组件介绍

五、组件中的data

组件可以有自己的data数据

组件中的data必须是一个方法,这样方法内部还必须返回一个对象才行

组件中的data数据使用方式和实例中的data使用方式完全一样

vue组件怎么写,vue组件介绍

六、模板的分离写法

vue提供了两种方案来定义HTML模块内容:

  • 使用<script>标签

  • 使用<template>标签

// 方式一<template id="tmp">   <div>     <h1>212</h1>     <h2>{{msg}}</h2> // 无法访问data中的msg,会报错</div></template>// 方式二<script type="text/x-template" id="tmp">  <div>    <h1>212</h1>    <h2>{{msg}}</h2>// 无法访问data中的msg,会报错  </div></script><script>   var vm = new Vue({     el: "#app",     data: {       msg: "小七",     },     components:{       'my-com':{         template:'#tmp'       }     }   });</script>

七、组件内部可以访问Vue实例数据吗?

答案:不能,Vue组件应该有自己保存数据的地方。

组件是一个单独功能模块的封装,这个模块有属于自己的HTML模板,也应该有属于自己的数据data

组件中的数据是保存在哪里呢?顶层的Vue实例中吗?

  • 组件对象也有一个data属性

  • 只是这个data属性必须是一个函数

  • 这个函数返回一个对象,对象内部保存着数据

八、为什么组件data必须是函数

  • 根实例对象data可以是对象也可以是函数(根实例是单例),不会产生数据污染情况

  • 组件实例对象data必须为函数,目的是为了防止多个组件实例对象之间共用一个data,产生数据污染

  • 对象为引用关系,当复用组件时,由于数据对象都指向同一个data对象,当在一个组件中修改data时,其他重用的组件中的data会同时被修改,但是使用返回的对象的函数,由于每次返回的都是一个新对象,保障了引用地址不同,则不会出现修改同一个数据的问题

  • js只有函数构成作用域(注意理解作用域,只有函数的{}构成作用域,对象的{}以及if(){}够不构成作用域),data是一个函数时,每个组件实例都有自己的作用域,每个实例相互独立,不会相互影响

<body>    <div id="app">      <!-- counter是独立的,互不影响 -->      <cpn></cpn>      <!-- counter独立的 -->      <cpn></cpn>    </div>    <template id="tmp">      <div>        <p>{{counter}}</p>        <button @click="counter++">+</button>        <button @click="counter--">-</button>      </div>    </template>  </body>  <script>    Vue.component("cpn", {      template: "#tmp",      data() {        return {          counter: 0,        }      },    })    var vm = new Vue({      el: "#app",      data: {},    })</script>

九、父子组件通信

子组件是不能直接访问父组件或者Vue实例数据的。那么如何把父组件的数据传递给子组件?通过props向子组件传递数据,首先说下props基本用法:

在子组件中,使用选项props来声明需要从父级接收到的数据。

1、props的值有两种方式:

方式一:字符串数组,数组中的字符串就是传递时的名称。

方式二:对象,对象可以设置传递时的类型,也可以设置默认值等。

<body><div id="app"><!-- message父组件data中的数据,msg传给子组件的属性,子组件需要使用msg来接收 -->  <cpn :msg="message"></cpn></div><template id="tmp">  <div>   <p>{{counter}}</p>   <p>{{msg}}</p>   </div></template></body><script>var vm = new Vue({  el: "#app",  data: {    message: "父组件的数据",  },  components: {    cpn: {      template: "#tmp",      props: ["msg"],      data() {        return {          counter: 0,        }      },    },  },})</script>

2、props属性名规则
  • 在props中使用驼峰形式,模板中需要使用短横线的形式

  • 字符串形式的模板中没有这个限制

<menu-item :menu-title="msg"></menu-item> Vue.component("menu-item", {   props: ["menuTitle"],   template: "<h3>{{menuTitle}}</h3>"  });

3、props属性值类型

字符串、数值、布尔值、数组、对象

vue组件怎么写,vue组件介绍

*父组件向子组件传递数据的方法如下:
  • 通过props


本文地址:百科问答频道 https://www.neebe.cn/wenda/903499_2.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


百科问答
小编:小易整编
相关文章相关阅读
  • 组件库是什么意思?

    组件库是什么意思?

    组件库是一种可用来重新使用和重组大量已创建的可视元件的组合,让开发者可以更轻松快捷地构建应用、界面和交互。它是一个精心设计的函数集,它可以让开发者可以快速搭建应用,而无需从头开发。组件库可以帮助开发者大量节省编写代码的时间和工作量,使开发...

  • 什么是Vue

    什么是Vue

    Vue.js(Vue)是一套用于构建用户界面的开源渐进式JavaScript框架。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。Vue.js(Vue...

  • mpvue是什么,详解基于Vue的开发框架mpvue

    mpvue是什么,详解基于Vue的开发框架mpvue

    mpvue是什么,详解基于Vue的开发框架mpvue接触微信小程序有一段时间的开发者或开发团队,我相信多多少少都会为自己搭建封装一些便于开发的框架/脚手架,尤其是一些做过Web开发的开发者,受到现如今Web主流开发框架如Angular,Re...

  • vue路由跳转的方式有哪些,vue路由跳转详解

    vue路由跳转的方式有哪些,vue路由跳转详解

    vue路由跳转的方式有哪些,vue路由跳转详解声明式导航1.router-link组件支持用户在具有路由功能的应用中(点击)导航。通过to属性指定目标地址,默认渲染成带有正确链接的a标签,可以通过配置tag属性生成别的标签.不带参数:

  • vue组件怎么写,vue组件介绍

    vue组件怎么写,vue组件介绍

    vue组件怎么写,vue组件介绍一、组件化思想如果我们将一个页面中所有的处理逻辑全部放在一起,处理起来就会变得非常复杂,而且不利于后续的管理以及扩展。但我们将一个页面拆分成一个个小的功能块,每个功能块完成属于自己这部分独立的功能,那么之后整...

  • vue生命周期详述

    vue生命周期详述

    vue生命周期详述,这次来聊一下vue的生命周期!可以看到vue一整个的生命周期中会有很多钩子函数提供给我们在vue生命周期不同的时刻进行操作,那么先列出所有的钩子函数,然后慢慢来!beforeCreatecreatedbeforeMoun...

  • vue计算属性是什么,vue计算属性computed

    vue计算属性是什么,vue计算属性computed

    vue计算属性是什么,vue计算属性computed第一站什么是计算属性computedcomputed是基于它的依赖缓存,只有在它的相关依赖发生改变时才会进行更新。官方文档是这样说的:对于任何包含响应式数据的复杂逻辑,你都应该使用计算属性...

  • vue是什么,vue详解

    vue是什么,vue详解

    vue是什么,vue详解。Vue.js是一个渐进式MVVM框架,目前被广泛使用,也成为目前前端技术中颇具代表性的一个框架。按Vue作者的说法,Vue(及其生态)是一个渐进式MVVM框架,可以按照实际需要逐步进阶使用更多特性。Vue渐进式示...

  • 周排行
  • 月排行
  • 年排行

精彩推荐