位置: IT常识 - 正文

【学Vue就跟玩一样】组件-非单文件组件的使用(vue学不懂怎么办)

编辑:rootadmin
【学Vue就跟玩一样】组件-非单文件组件的使用 一,什么是组件

推荐整理分享【学Vue就跟玩一样】组件-非单文件组件的使用(vue学不懂怎么办),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:学vue用什么软件,vue入门视频教程,vue自学,vue学起来困难吗,vue自学,vue入门视频教程,vue学起来困难吗,学vue用什么软件,内容如对您有帮助,希望把文章链接给更多的朋友!

实现应用中局部功能代和资源的集合(简单来说就是将html,js,css,资源整合起来的一个小盒子)

理解:用来实现局部(特定)功能效果的代码集合

为什么:一个界面的功能很复杂

作用:复用编码,简化项目编码,提高运行效率

组件又分为非单文件组件和单文件组件,一般常用的就是单文件组件

二,非单文件组件2.1使用组件的三大步骤 1.创建组件

(1)如何定义一个组件?

使用Vue.extend(options )创建,其中options和new Vue(options)时传 入的那个options儿乎一样。但是也略有不同,组件内不需要写el该属性,因为组件是直接服务于Vue实例的,所以并不需要在组件内写,并且组件写完之后不只是服务于一个地方,这里就体现了组件的复用性,所以组件不能写el。

2.注册组件

(2)如何注册组件?

1.局部注册:靠new Vue的时候传入components选项

2.全局注册:靠Vue.component( '组件名,组件)

3.使用组件

(3)如何使用组件

编写组件标签(使用组件)

下面是创建非单文件组件的全过程

(4)为什么data必须写成函数?

避免组件被复用时,数据存在引用关系。

【学Vue就跟玩一样】组件-非单文件组件的使用(vue学不懂怎么办)

注:使用template 可以配置组件结构。

<body><div id="user"><!-- 第3步使用组件编写组件标签 --><school></school><br><xuesheng></xuesheng></div><div class="user2"><hello></hello></div></body><script>// 第一步:创建组件// 创建school组件const school = Vue.extend({template: `<div><h2>学校名称:{{schoolName}}</h2><h2>地址:{{address}}</h2></div>`,// 组件里不用写el也不能写el,而且组件里必须写函数式data() {return {schoolName: '山鱼屋',address: 'Nanbian'}}})// 创建student组件const student = Vue.extend({template: `<div><h2>学生名称:{{studentName}}</h2><h2>年龄:{{age}}</h2><button @click = 'showName'>点我出名</button></div>`,// 组件里不用写el也不能写el,而且组件里必须写函数式data() {return {studentName: '山鱼屋',age: 20}},methods: {showName() {alert(this.studentName)}},})// 创建全局组件const hello = Vue.extend({template: `<div><h2>你好呀!{{name}}</h2></div>`,data() {return {name: 'shanyu',}}})// 注册全局的组件Vue.component('hello', hello);// 创建vmnew Vue({el: '#user',// 第2步.注册组件components: {// 键值对形式(若键值对同名可简写)school,xuesheng: student}})new Vue({el: '.user2',})</script>4.关于写法的注意点

1.关于组件名

一个单词组成: 第一种写法( 首字母小写):+ school,第二种写法(首字母大写) School

多个单词组成: 第一种写法(kebab-case命 名):my-school,第二种写法(Came1Case命 名): MySchool (需要Vue脚手架支持)

注:

(1),组件名尽可能回避HTML中已有的元素名称,例如: h2、 H2都不行。

(2).可以使用name配置项指定组件在开发者工具中呈现的名字。

2.关于组件标签

第1种写法: <school></school>

第2种写法: <school/> 备注:不用使用脚手架时,<schoo1/> 会导致后续组件不能渲染。

3.简写方式

const school = Vue.extend(options)可简写为: const school = {options}

2.2组件的嵌套

和俄罗斯套娃差不多,大件套小件(其实vm下面还有一个名为app的组件,他管理着所有的组件)

<body><div id="user"></div><script>// 创建room组件const room = {template:`<div><h2>房间号{{num}}</h2><h2>puwei:{{pnum}}</h2></div>`,data() {return {num: '222',pnum: '8'}}}// 创建students组件const students = {template:`<div><h2>姓名:{{name}}</h2><h2>学号:{{studentnum}}</h2><room></room></div>`,data() {return {name: '山鱼',studentnum: '9657'}},components: {room}}// 创建school组件const school = {template:`<div><h2>校名:{{sname}}</h2><h2>地址:{{address}}</h2><students></students></div>`,data() {return {sname: '山鱼学院',address: '华山道9088号'}},components: {students}}const app = {template:`<school></school></div>`,components: {school}}// 创建app组件new Vue({template:`<app></app>`,el: '#user',components: {app,}})</script></body>关于VueComponent

school组件本质是一个 名为VueComponent的构造函数,且不是程序员定义的,是Vue.extend生成的。

只需要写<school/>(自闭合标签)或<school></school>, Vue解析时会帮我们创建school组件的实例对象,也就是Vue帮我们执行的: new VueComponent(options)。

每次调用Vue.extend,返回的都是一一个全新的VueComponent(虽然双胞胎特别像但是无论怎么来说也不是相同的一个人)

this指向

(1).组件配置中data函数、methods中的函数、watch中的函数、computed中的两数它们的this均 是[VueComponent实例对象]。

(2) new Vue(options )配置中data函数、methods中的函数、watch中的函数、computed中 的函数 它们的this均是[Vue实例对象]。

点赞:您的赞赏是我前进的动力!👍收藏:您的支持我是创作的源泉!⭐评论:您的建议是我改进的良药!✍山鱼的个人社区:欢迎大家加入我的个人社区——山鱼社区

本文链接地址:https://www.jiuchutong.com/zhishi/297528.html 转载请保留说明!

上一篇:vue-router传参的四种方式超详细(vue router怎么传值)

下一篇:谈谈uni-app(谈谈社会公德普通话三分钟)

  • 两个淘宝号能绑定一个支付宝吗(两个淘宝号能绑定一个吗)

    两个淘宝号能绑定一个支付宝吗(两个淘宝号能绑定一个吗)

  • 录音机程序的文件扩展名(录音机的文件名叫什么)

    录音机程序的文件扩展名(录音机的文件名叫什么)

  • 全民k歌怎么删除别人送的礼物和花花(全民k歌怎么删除访问记录对方看不见)

    全民k歌怎么删除别人送的礼物和花花(全民k歌怎么删除访问记录对方看不见)

  • 连接蓝牙要网络吗(连接蓝牙网络变慢)

    连接蓝牙要网络吗(连接蓝牙网络变慢)

  • 无线电收发原理(无线电收发原理概念)

    无线电收发原理(无线电收发原理概念)

  • 618淘宝活动什么时候开始(618淘宝活动什么时候开始,什么时候结束)

    618淘宝活动什么时候开始(618淘宝活动什么时候开始,什么时候结束)

  • p40相机多少倍(华为p40相机最高多少倍)

    p40相机多少倍(华为p40相机最高多少倍)

  • 为什么微信登录一直输入验证码(为什么微信登录收不到验证码)

    为什么微信登录一直输入验证码(为什么微信登录收不到验证码)

  • 微信群发红包怎样发平均(微信群发红包怎么发给指定人)

    微信群发红包怎样发平均(微信群发红包怎么发给指定人)

  • 双wifi加速是什么意思(双wifi加速什么意思)

    双wifi加速是什么意思(双wifi加速什么意思)

  • 哪些软件缓存不能删除(有哪些缓存)

    哪些软件缓存不能删除(有哪些缓存)

  • 摄像头供电方式有哪几种(摄像头供电方式网线+电源供电)

    摄像头供电方式有哪几种(摄像头供电方式网线+电源供电)

  • 苹果手机有没有录屏功能(苹果手机有没有红外线功能)

    苹果手机有没有录屏功能(苹果手机有没有红外线功能)

  • rx480相当于n卡什么(rx480什么档次)

    rx480相当于n卡什么(rx480什么档次)

  • 怎么注销京东账号要多久(怎么注销京东账号服务)

    怎么注销京东账号要多久(怎么注销京东账号服务)

  • 金山文档里为什么是只读(金山文档显示)

    金山文档里为什么是只读(金山文档显示)

  • 电子计算机上的off是什么键(电子计算机上的mr是什么键)

    电子计算机上的off是什么键(电子计算机上的mr是什么键)

  • 华为nova5pro怎么长截屏(华为nova5pro怎么看电池寿命)

    华为nova5pro怎么长截屏(华为nova5pro怎么看电池寿命)

  • 网易云为什么下载失败(网易云为什么下载音乐都最后下不了)

    网易云为什么下载失败(网易云为什么下载音乐都最后下不了)

  • 小米ai音箱如何控制小米盒子(小米AI音箱如何恢复出厂设置)

    小米ai音箱如何控制小米盒子(小米AI音箱如何恢复出厂设置)

  • 小米电脑触摸板没反应(小米电脑触摸板开关快捷键)

    小米电脑触摸板没反应(小米电脑触摸板开关快捷键)

  • ghost win10安装教程(ghost windows10安装教程)

    ghost win10安装教程(ghost windows10安装教程)

  • xzmore命令  查看xz压缩文本文件(more命令 查找)

    xzmore命令 查看xz压缩文本文件(more命令 查找)

  • Python学习笔记(十一)-- Django API  RESTful(python初学笔记)

    Python学习笔记(十一)-- Django API RESTful(python初学笔记)

  • 开的劳务费怎么做账
  • 网约车有电子发票吗
  • 开票服务费全额抵扣分录
  • 资产处置收益计入营业收入吗
  • 录入凭证需要做哪些工作
  • 建筑施工安全费用专项检查报告怎么写
  • 小规模纳税人税控盘怎么做账
  • 新公司接手之前公司的固定资产
  • 员工出差车费如何报销
  • 将自建的厂房对外转让需要缴纳增值税吗
  • 母公司名称的发票可以计入子公司的开办费处理吗?
  • 代开的专票开错了怎么办?
  • 变更办税人需要原办税人去吗
  • 手工帐财务费用怎么结转
  • 税控设备抵减如何填写报表
  • 会计准则规定
  • 多缴个税账务处理
  • 投资收益填在经营所得申报表的哪里
  • 百旺开票系统升级后如何恢复
  • 我公司以房产土地为主
  • linux命令-a
  • 无形资产入账包括增值税吗
  • 清除cookies有什么用
  • 厂区道路施工步骤
  • 本期用于购建不动产的扣税凭证怎么填
  • 电脑启用aero
  • php ftp功能
  • PHP:pg_field_num()的用法_PostgreSQL函数
  • 发票支票区别
  • 甲供材料增值税
  • 控制器code是什么意思
  • echarts饼图标题
  • 哥德堡的港口
  • 库存商品交增值税吗
  • 超像素和markpage的区别
  • 毫米波雷达的硬件构成
  • phpstudy命令行
  • 休产假期间社保个人部分怎么办
  • 离线开票限额怎么办
  • 股权转让税收规定
  • 招待费的进项税必须认证后转出吗
  • 员工出差的费用计入什么科目
  • 发放股票股利的账务处理
  • SQLite教程(十四):C语言编程实例代码(2)
  • Windows下Postgresql下载与配置方法
  • 如果删除申报记录会怎么样
  • 或有资产怎么处理
  • 企业所得税法开办费
  • 交易性金融资产的账务处理
  • 一般纳税人适用3%税率情况
  • 项目上工人死亡赔偿
  • 加油预付卡发票新规定文件
  • 出库单与入库单一样吗
  • 现金流量表和利润表的勾稽关系
  • etc电子发票需要勾选吗
  • 建立明细账的操作步骤
  • mysql误删记录查询
  • extra backup
  • win8 怎么样
  • 电脑运行慢怎么办?
  • window系统怎么截屏屏幕
  • 双系统重装win11
  • ubuntu集成开发环境
  • hyper-v win98
  • windows阻止
  • windows8开机启动项设置
  • javascript入门教程
  • Tutorial 6:Translation Transformation
  • 用滑动门技术设计一幅画
  • jquery jsonview
  • nodejs发送post请求
  • js关闭子窗口
  • [置顶] 汉诺塔的原理剖析以及递归的解决办法
  • ubuntu快捷键大全
  • javascript的
  • python循环语句中提前结束本层循环
  • jquery中each()方法的作用及使用
  • js实现省份和市级联动
  • 甘肃省税务申报系统
  • 江苏省电子税务局社保缴费查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设