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 相关文章推荐
利用JQuery的load函数动态加载其它页面的内容的实现代码
Dec 14 Javascript
说明你的Javascript技术很烂的五个原因
Apr 26 Javascript
jQuery Trim去除字符串首尾空字符的实现方法说明
Feb 11 Javascript
node.js不得不说的12点内容
Jul 14 Javascript
JavaScript中的原型和继承详解(图文)
Jul 18 Javascript
JavaScript判断textarea值是否为空并给出相应提示
Sep 04 Javascript
AngularJs 60分钟入门基础教程
Apr 03 Javascript
详解Angular2中的编程对象Observable
Sep 17 Javascript
如何抽象一个Vue公共组件
Oct 17 Javascript
mpvue写一个CPASS小程序的示例
Sep 04 Javascript
webpack的CSS加载器的使用
Sep 11 Javascript
Vue起步(无cli)的啊教程详解
Apr 11 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
php操作JSON格式数据的实现代码
2011/12/24 PHP
非常好用的两个PHP函数 serialize()和unserialize()
2012/02/04 PHP
dedecms中使用php语句指南
2014/11/13 PHP
PHP文件操作实例总结
2016/09/27 PHP
PHP实现转盘抽奖算法分享
2020/04/15 PHP
PHP实现上传图片到数据库并显示输出的方法
2018/05/31 PHP
PHP7 其他语言层面的修改
2021/03/09 PHP
json简单介绍
2008/06/10 Javascript
js验证是否为数字的总结
2013/04/14 Javascript
JavaScript中的style.cssText使用教程
2014/11/06 Javascript
JS实现仿新浪微博发布内容为空时提示功能代码
2015/08/19 Javascript
Javascript中字符串replace方法的第二个参数探究
2016/12/05 Javascript
js实现做通讯录的索引滑动显示效果和滑动显示锚点效果
2017/02/18 Javascript
JavaScript中splice与slice的区别
2017/05/09 Javascript
Angular4学习教程之HTML属性绑定的方法
2018/01/04 Javascript
JavaScript设计模式之构造函数模式实例教程
2018/07/02 Javascript
解决vue2.0路由跳转未匹配相应用路由避免出现空白页面的问题
2018/08/24 Javascript
Bootstrap-table使用footerFormatter做统计列功能
2018/09/07 Javascript
Vue实现简单分页器
2018/12/29 Javascript
jQuery中DOM操作原则实例分析
2019/08/01 jQuery
vue 实现微信浮标效果
2019/09/01 Javascript
jQuery实现手风琴特效
2021/01/11 jQuery
[02:08]2018年度CS GO枪械皮肤设计大赛优秀作者-完美盛典
2018/12/16 DOTA
Python2和Python3的共存和切换使用
2019/04/12 Python
Python中 CSV格式清洗与转换的实例代码
2019/08/29 Python
浏览器实现移动端高性能css3动画(开启gpu加速)
2013/12/23 HTML / CSS
HTML5地理定位与第三方工具百度地图的应用
2016/11/17 HTML / CSS
个人素质的自我评价分享
2013/12/16 职场文书
迟到检讨书500字
2014/02/05 职场文书
小学生综合素质评语
2014/04/23 职场文书
暑期社会实践先进个人主要事迹
2014/05/22 职场文书
授权委托书公证
2014/09/14 职场文书
上课玩手机的检讨书
2014/10/01 职场文书
职场:企业印章管理制度(模板)
2019/10/18 职场文书
Python基础之Socket通信原理
2021/04/22 Python
使用SQL实现车流量的计算的示例代码
2022/02/28 SQL Server