vue3.0 CLI - 2.1 -  component 组件入门教程


Posted in Javascript onSeptember 14, 2018

我的 github 地址 - vue3.0Study - 阶段学习成果都会建立分支。

进入 src 文件夹,这是实际都工程文件夹,其他文件夹以及文件以后在了解。

3个文件夹  assets - 各类静态资源文件夹 - 比如 图片, css 文件等。  components - 组件文件夹, 组件是 vue 等 MVC 框架等核心概念,自行了解含义。 view - 视图文件夹。

5个文件  app.vue、main.js - 主视图、配合 main.js 成为 vue 程序的主入口。router.js - 路由程序主入口。store.js - 路由状态管理系统。

registerServiceWorker.js 暂不进行了解。

介绍完工程文件夹,进入本文主要关注点 - 组件。

*.js 和 *.vue文件都可以单独成为 组件 。我不会使用单独的 *.js 文件作为组件 ( 用 *.vue 文件作为组件方便理解和管理 )。组件可以单独用 *.vue 写出来,也可以分开同时用 *.vue 和 *.js 来完成一个或者多个组件。

当前工程文件夹中存在 4 个组件:app.vue + main.js、helloworld.vue、views/home.vue、views/about.vue。

template 标签:4 个组件都有,这是渲染模版,也是组件的核心,细心的读者可以发现这4个 template 中都包含有一个顶层都 div 元素。script 标签:helloworld.vue 和 views/home.vue 中有,也可以用单独的 js 文件描述,比如 main.js。style 标签:app.vue 和 helloworld.vue 中有,提供【组件作用域】的 css 样式,防止团队协同开发导致的 css 样式名冲突。

template - script - 问答

1、为什么要使用 *.vue 和 *.js 分开的方式写组件?

答:这个初始化的项目,自然没有这个必要。在大型的项目中,有些组件的 模板 template 和 功能定义 script 都是相当规模的代码,分开管理有利于项目架构的整理。

2、下面是否会介绍 style 的用法?

答:显然不会,这方面内容简单,读者自行了解。

3、app.vue 与其他组件中 script 的区别?

答:这个区别很大!app.vue 中的 script 是定义各类功能的集中入口,当前可以看到的有 路由、路由状态管理系统、渲染 和 配置定义,因此 app 组件的 script 一般都是分开定义。由于 app.vue 是主程序入口,它并没有 data、prop 等等常规组件都有的东西。关于 app.vue 和 main.js,在以后的学习中会渐渐深入。

学习改造 helloworld.vue

export default { name: 'HelloWorld', props: { msg: String } },这是 script 代码。export default <object>,其实这个很简单,导出一个 object 实例,这个 obj 有 name、props 属性。name - 组件名称;props - 组件属性 ( 这些属性的值只能由父组件提供 )。组件属性也是一个健值对的对象:健 - 属性名称,值 - 属性类型 ( 这玩意还有点内容,建议去官方说明中看相关介绍 )。

helloworld.vue 组件在 views/home.vue 中被使用,props => msg 也是在 views/home.vue 中传递过来 ( 下文中绿字部分 ):

import HelloWorld from '@/components/HelloWorld.vue' 
 <HelloWorld msg="Welcome to Your Vue.js App"/>

仅有这些还不能使用 helloworld.vue 组件,还需要以下代码中绿色的部分:

export default { name: 'home', components: { HelloWorld } }。

现在来用 helloworld.vue 试验学习组件的相关内容。

v-for 的使用

data: function() {
return {
linkPrefix: 'https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-',

clis: [


{ link: "babel", text: "babel" },


{ link: "pwa", text: "pwa" },


{ link: "eslint", text: "eslint" },


{ link: "unit-mocha", text: "unit-mocha" },


{ link: "e2e-nightwatch", text: "e2e-nightwatch" }

]
}

给 helloworld.vue 组件导出配置增加如上 data 属性 ( 由于组件存在,data 属性需要用 function 的方式来返回 ) 。

<ul>
<li v-for="(cli,index) in clis" :key="index">


<a :href= linkPrefix + cli.link target="_blank" rel="noopener">{{cli.text}}</a>

</li>
</ul>

修改之后的版本已经上传我的 github 。

总结

以上所述是小编给大家介绍的vue3.0 CLI - 2.1 -  component 组件入门教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js和jquery批量绑定事件传参数一(新猪猪原创)
Jun 23 Javascript
[JSF]使用DataModel处理表行事件的实例代码
Aug 05 Javascript
jquery的trigger和triggerHandler的区别示例介绍
Apr 20 Javascript
直接在JS里创建JSON数据然后遍历使用
Jul 25 Javascript
JavaScript中利用各种循环进行遍历的方式总结
Nov 10 Javascript
jquery实现定时自动轮播特效
Dec 10 Javascript
jquery checkbox无法用attr()二次勾选问题的解决方法
Jul 22 Javascript
JavaScript实现的XML与JSON互转功能详解
Feb 16 Javascript
微信小程序开发中的疑问解答汇总
Jul 03 Javascript
基于Vue实现支持按周切换的日历
Sep 24 Javascript
JavaScript实现旋转轮播图
Aug 18 Javascript
纯JS实现可用于页码更换的飞页特效示例
May 21 Javascript
vue3.0 CLI - 1 - npm 安装与初始化的入门教程
Sep 14 #Javascript
详解Vue CLI3配置解析之css.extract
Sep 14 #Javascript
vue-cli脚手架build目录下utils.js工具配置文件详解
Sep 14 #Javascript
vue3.0 CLI - 2.6 - 组件的复用入门教程
Sep 14 #Javascript
在vue项目中使用md5加密的方法
Sep 14 #Javascript
在vue项目中引用Iview的方法
Sep 14 #Javascript
详解webpack-dev-server使用方法
Sep 14 #Javascript
You might like
MOTOROLA 摩托罗拉 MODEL 66-XI五灯中波收音机
2021/03/02 无线电
粗略计算在线时间,bug:ip相同
2006/12/09 PHP
PHP遍历文件夹与文件类及处理类用法实例
2014/09/23 PHP
学习php设计模式 php实现单例模式(singleton)
2015/12/07 PHP
PHP面向对象多态性实现方法简单示例
2017/09/27 PHP
解决ExtJS在chrome或火狐中正常显示在ie中不显示的浏览器兼容问题
2013/01/11 Javascript
测试IE浏览器对JavaScript的AngularJS的兼容性
2015/06/19 Javascript
jQuery实现的导航动画效果(附demo源码)
2016/04/01 Javascript
创建基于Bootstrap的下拉菜单的DropDownList的JQuery插件
2016/06/02 Javascript
JavaScript中实现键值对应的字典与哈希表结构的示例
2016/06/12 Javascript
javascript prototype原型详解(比较基础)
2016/12/26 Javascript
jQuery实现多张图片上传预览(不经过后端处理)
2017/04/29 jQuery
angularJS的radio实现单项二选一的使用方法
2018/02/28 Javascript
微信小程序实现注册登录功能(表单校验、错误提示)
2019/12/10 Javascript
微信小程序点击保存图片到本机功能
2019/12/13 Javascript
[01:12:35]Spirit vs Navi Supermajor小组赛 A组败者组第一轮 BO3 第二场 6.2
2018/06/03 DOTA
Python标准库urllib2的一些使用细节总结
2015/03/16 Python
Python实现监控程序执行时间并将其写入日志的方法
2015/06/30 Python
详解Python的collections模块中的deque双端队列结构
2016/07/07 Python
python使用opencv读取图片的实例
2017/08/17 Python
Python实现的从右到左字符串替换方法示例
2018/07/06 Python
使用Python将字符串转换为格式化的日期时间字符串
2019/09/01 Python
使用Python三角函数公式计算三角形的夹角案例
2020/04/15 Python
Python中无限循环需要什么条件
2020/05/27 Python
python爬虫要用到的库总结
2020/07/28 Python
Python3中对json格式数据的分析处理
2021/01/28 Python
python爬虫今日热榜数据到txt文件的源码
2021/02/23 Python
德国高尔夫商店:Golfshop.de
2019/06/22 全球购物
德国户外装备、登山运动和攀岩商店:tapir store
2020/02/12 全球购物
Linux不知道文件后缀名怎么判断文件类型
2014/08/21 面试题
会计毕业生自荐信
2013/11/21 职场文书
主持人婚宴答谢词
2014/01/28 职场文书
活动总结的格式
2014/05/07 职场文书
大学生求职意向书
2015/05/11 职场文书
Python 流媒体播放器的实现(基于VLC)
2021/04/28 Python
TypeScript中条件类型精读与实践记录
2021/10/05 Javascript