vue从入门到女装??:从零开始搭建后台管理系统(二)vue组件化

作者&投稿:剧宽 (若有异议请与网页底部的电邮联系)
~ 组件化

页面上小到一个按钮都可以是一个单独的文件.vue,这些小组件直接可以像乐高积木一样通过互相引用而组装起来

以element-ui的button组件示例,下图的每一个button都是一个单独的组件,以达到代码的最大化复用:

组件注册全局注册

要注册一个全局组件,可以使用Vue.component(tagName,options),注册在跟实例下。

Vue.component('my-component',{template:'<div>Acustomcomponent!</div>'})

局部注册

你不必把每个组件都注册到全局。你可以通过某个Vue实例/组件的实例选项components注册仅在其作用域中可用的组件。

varChild={template:'<div>Acustomcomponent!</div>'}newVue({//...components:{//<my-component>将只在父组件模板中可用'my-component':Child}})

封装组件

封装组件的三种方法:

vue单页面组件

这种方法常用在vue文件中

<template><divclass="hello"><h1>{{msg}}</h1></div></template><script>exportdefault{name:'hello',data(){return{msg:'欢迎!'}}}</script>

script模板<scripttype="text/x-template"id="myComponent">//注意type和id。<div>Thisisacomponent!</div></script><script>//全局注册组件Vue.component('my-component',{template:'#myComponent'})newVue({el:'#app'})</script>

html模板<templateid="myComponent"><div>Thisisacomponent!</div></template><script>Vue.component('my-component',{template:'#myComponent'})newVue({el:'#app'})</script>

或者

<script>varmyComponent=`<div>Thisisacomponent!</div><p>----Calamus</p>`;Vue.component('my-component',{template:myComponent})newVue({el:'#app'})</script>

开发组件安装vue

script标签导入

<scriptsrc="https://cdn.jsdelivr.net/npm/vue"></script>

vue-cli安装

#全局安装vue-cli$npminstall--globalvue-cli

#创建一个基于webpack模板的新项目$vueinitwebpackmy-project

注意:一些eslinke2e等工具是语法检查用的,建议最开始关闭,不然比较麻烦

#安装依赖$cdmy-project$npminstall

varChild={template:'<div>Acustomcomponent!</div>'}newVue({//...components:{//<my-component>将只在父组件模板中可用'my-component':Child}})0

运行之后打开localhost:8080,即时vue安装好的页面了

varChild={template:'<div>Acustomcomponent!</div>'}newVue({//...components:{//<my-component>将只在父组件模板中可用'my-component':Child}})1

打包成功之后项目目录下会多出dist文件夹,即是打包编译好的项目文件

注意:build之后出现页面空白,打开调试发现js、css等资源加载404,是webpack配置相对路径错误导致,如图路径给为'./'即可

注意:build之后出现font等字体文件加载错误,也是webpack配置问题,修改build->webpack.base.conf.js里css-loader的limit值,比你的font文件大即可

bower安装

varChild={template:'<div>Acustomcomponent!</div>'}newVue({//...components:{//<my-component>将只在父组件模板中可用'my-component':Child}})2

开发一个canvas组件示例

效果展示:demo下载

varChild={template:'<div>Acustomcomponent!</div>'}newVue({//...components:{//<my-component>将只在父组件模板中可用'my-component':Child}})3

在线运行示例:

组件三要素

prop

prop需要转化成对应的kebab-case(短横线分隔式命名)

组件实例的作用域是孤立的。这意味着不能(也不应该)在子组件的模板内直接引用父组件的数据。父组件的数据需要通过prop才能下发到子组件中

自定义事件

slot

varChild={template:'<div>Acustomcomponent!</div>'}newVue({//...components:{//<my-component>将只在父组件模板中可用'my-component':Child}})4

为了让组件可以组合,我们需要一种方式来混合父组件的内容与子组件自己的模板。这个过程被称为内容分发(即Angular用户熟知的“transclusion”)。Vue.js实现了一个内容分发API,参照了当前WebComponents规范草案,使用特殊的元素作为原始内容的插槽。

varChild={template:'<div>Acustomcomponent!</div>'}newVue({//...components:{//<my-component>将只在父组件模板中可用'my-component':Child}})5

原文:https://juejin.cn/post/7099351554485911565


ue4到ue5升级需要多久?
三、用户界面和工作流程 UE5的界面进行更新,相对于UE4操作界面更加的清爽,用官网的话来说就是“更快捷、更简单、更高效”,个人的觉得简洁的操作界面更加适合新人入门。除此之外,UE5还将Quixel Bridge完全集成到了引擎当中。四、时序超级分辨率 UE5内置的采样系统可以低的分辨率进行渲染,然后再进行高...

虚幻引擎(UE5)学习笔记-入门案例篇01
虚幻引擎入门探索:从零开始的UE5之旅 欢迎踏上虚幻引擎(UE5)的学习之旅,这里我们将逐步构建你的基础认知,从修改缓存路径到创建交互式游戏世界。首先,理解引擎的设置至关重要,记得调整C盘和保管库缓存位置,为后续项目提供足够的空间。游戏框架基石 在虚幻引擎的世界中,游戏由各种Actor构建,如背景...

ue蓝图节点连线怎么变直
数值设为0即可,另外,一楼那个乱回答蹭分的叼毛,卧室嫩叠

UE入门笔记(1):编译UE4源码 + apk打包
解决:打开项目.sln,重新生成AutomationTool ②找不到dx文件 解决:打开C:\\Users\\Administrator\\AppData\\Local\\Android\\Sdk\\build-tools,将28或29版本文件夹中的dx.bat 和 lib 文件夹中的 dx.jar 复制到 32.0.0 版本文件夹的对应位置。(build-tools从版本30之后把dx的方式去掉了,而UE需要这个,...

java一般要学几年?
我们大家学习Java从入门到能掌握可以找到一份工作,平均周期在三年左右,也有一些两年就自学完成的,而且我个人认为报培训班是很需要的,我们大家在刚接触Java的时候,会有些迷茫,不知道该从哪里入手,那是因为在学习上没找到对的方法。 学习是场持久战,短时间的突击学习收获并不是很大,学习重在行动、贵在坚持,能坚持下...

【UE5】Wwise基础(一):创建为UE服务的Wwise工程
特别是Wwise的101到301系列教程,为初学者提供了坚实的引导。让我们一起探索如何在UE5中利用Wwise构建交互音频工程。首先,从下载Wwise 101课程文件开始,注册一个账号,然后在UE5中创建一个项目,如"WwiseTutorial"。接着,导入Wwise插件,通过Wwise Launcher或直接在UE5中进行配置,确保两者之间的工程连接...

你好,能给我发一份patran从入门到精通的pdf么,谢谢
patran从入门到精通_百度文库 http:\/\/wenku.baidu.com\/link?url=eq4ZBz-q2kIvVQtZz0yVR2ZXGWRBDeZAnp3jzf3HS0GmmUEHDHMXJiNGsNDwZKQyj2XYHZYAij0B_FhUzZRyolMGleCxum91KwYKu1LiySC

UI设计培训课程是哪些?
4. 界面交互设计:学习如何设计易用且符合用户习惯的界面,包括交互设计原则、导航设计、页面流程等。5. 响应式设计:掌握在不同设备上进行UI设计的技巧,如移动端、平板电脑和桌面端。6. 创意与创新:培养创意思维能力,通过实例和案例分析激发创造力。7. 项目实践:通过实际项目的设计和实现,锻炼应用...

【UE5 渲染管线篇】素描风格渲染管线实现:(5)渲染阶段添加自定义Pass...
在UE5渲染管线的第5部分中,我们将实现素描风格渲染管线,特别关注于在渲染阶段自定义Pass的添加,以将SceneColor的暗部和阴影遮罩转化为排线效果。版本为5.3.2,使用Visual Studio 2022作为IDE。在前期的BasePass中,我们已经将纹理的uv坐标写入RG通道,颜色混合值存入B通道,Sketch材质遮罩存入A通道。本...

ue模型不受贴画影响
学习目标: UE4从入门到入土 学习内容: 1、 UE4基础知识 1.1 UE4 窗口功能 1.2 UE4 偏好设置 1.3 UE4 快捷键 1.4 UE4 输入和输出 2、 UE4 上手操作 2.1 UE4 Scene和Level 2.2 UE4BSP和StaticMesh 2.3 UE4 蓝图 2.4 UE4 UI...继续访问最新发布 UE5学习笔记(十二)——蓝图基础之材质蓝图及参数本文整理了...

福田区18357078273: 佳能单反相机配件 -
窄玛盐酸: 必配:摄影包(富赛尔,阿尔菲斯,乐摄宝(这个牌的很贵) )UV镜(肯高)存储卡(金士顿,Sandisk,东芝)选配:闪光灯:430EX(这个就够用了)备用电池(原厂,或副厂的品胜牌)三脚架(伟峰,曼...

福田区18357078273: 教你从零开始学骑摩托车(新手学骑摩托车步骤图解)
窄玛盐酸: 摩托车可分为跨骑式(男装)和脚踏式(女装).从零开始学骑摩托车,首先要了解它的控制部件.从下图可以看出,驾驶摩托车所使用的控制部件有:前后轮刹车、离合...

福田区18357078273: 决斗之城黑暗决斗从零开始变王者入门攻略
窄玛盐酸: 1.、游戏细节游戏有一个很重要的细节是所有角色累计在30级之前,可以使用30到40... 之后继续开始即可快速拿到6个连胜宝箱.②冒险任务,每3小时会刷新一名决斗者,...

福田区18357078273: 新人开播的7个建议(新手如何从0开始做直播)
窄玛盐酸: 新手开直播都需要注意什么?1、有明确的主题在做直播之前要想好直播主题,没有... 3、直播中要自信很多新人在刚开始直播的时候都是很不自信的,低头看手机,面无表...

福田区18357078273: 初学Web前端推荐什么书籍学习? -
窄玛盐酸: 做前端开发9年,推荐你下看下面的6本书 《JavaScript DOM 编程艺术》 超级前端畅销书,作为前端程序员必读两遍以上的书籍,这本书籍特别适合初学前端的新人,前端的核心技术就是JavaScript,同时也是前端的难点.而这本书非常适合入...

福田区18357078273: 关于计算机科学与技术专业分方向 -
窄玛盐酸: 我建议你选嵌入式,我以前也和你一样,就是选了嵌入式的,现在我同学大部分就是做嵌入式的人赚的比较多.首先关于嵌入式,还是一个很不错的方向,关于嵌入式的前景:嵌入式系统作为“...

福田区18357078273: LINUX 嵌入式 数据库 软件测试 -
窄玛盐酸: LINUX 嵌入式 数据库 软件测试我觉得你应该选一个方向,然后好好学习,我自己就是自学了嵌入式,我把我的学习过程和学习步骤及一些体会写了出来,让你看看,希望对你有所帮助.先做个自...

福田区18357078273: react.js,angular.js,vue.js学习哪个好 -
窄玛盐酸: 引用一段vuejs官方的解释.vue对比其它框架 Angular 选择 Vue 而不选择 Angular,有下面几个原因,当然不是对每个人都适合:在 API 与设计两方面上 Vue.js 都比 Angular 简单得多,因此可以快速地掌握它的全部特性并投入开发....

福田区18357078273: 悠悠球基本招式 -
窄玛盐酸: 视频教学;http://find.tvix.cn/searchjsp.do?q=%D3%C6%D3%C6%C7%F2&type=video&submit=%CB%D1+%CB%F7:http://post.baidu.com/f?kz=91742409http://www.qykk.com/inc/news/20050728/15395717100.asphtt...

福田区18357078273: 入门单反的选择 -
窄玛盐酸: 佳能500D和尼康D3100都可以.如果我选择的话可能会选择D3100因为佳能手柄偏小,我的手指甲老是抠到机身上,觉得不太舒服. 我自己会这么配: 500D或D3100 约3600元 镜头腾龙18-200mm 1900元(你可以选择腾龙 AF28-105mm 1000...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网