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 相关文章推荐
Javascript注入技巧
Jun 22 Javascript
浏览器常用高宽的jquery插件
Feb 24 Javascript
javascript数组遍历for与for in区别详解
Dec 04 Javascript
被遗忘的javascript的slice() 方法
Apr 20 Javascript
在JavaScript中处理字符串之link()方法的使用
Jun 08 Javascript
ztree获取选中节点时不能进入可视区域出现BUG如何解决
Dec 03 Javascript
react-router实现按需加载
May 09 Javascript
Node.js五大应用性能技巧小结(必须收藏)
Aug 09 Javascript
详解vue-cli 快速搭建单页应用之遇到的问题及解决办法
Mar 01 Javascript
Vue2实时监听表单变化的示例讲解
Aug 30 Javascript
Python版实现微信公众号扫码登陆
May 28 Javascript
Vuejs通过拖动改变元素宽度实现自适应
Sep 02 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源代码
2006/10/09 PHP
PHP屏蔽过滤指定关键字的方法
2014/11/03 PHP
php去掉文件前几行的方法
2015/07/29 PHP
PHP使用stream_context_create()模拟POST/GET请求的方法
2016/04/02 PHP
PHP中散列密码的安全性分析
2019/07/26 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
2020/03/26 PHP
javascript中有趣的反柯里化深入分析
2012/12/05 Javascript
关于jQuery参考实例 1.0 jQuery的哲学
2013/04/07 Javascript
模拟多级复选框效果的jquery代码
2013/08/13 Javascript
让网页跳转到指定位置的jquery代码非书签
2013/09/06 Javascript
jquery提交form表单简单示例分享
2014/03/03 Javascript
javaScript如何处理从java后台返回的list
2014/04/24 Javascript
js和jquery中循环的退出和继续学习记录
2014/09/06 Javascript
利用jQuery及AJAX技术定时更新GridView的某一列数据
2015/12/04 Javascript
AngularJS 中文API参考手册
2016/07/28 Javascript
prototype与__proto__区别详细介绍
2017/01/09 Javascript
AjaxUpLoad.js实现文件上传
2018/03/05 Javascript
NUXT SSR初级入门笔记(小结)
2019/12/16 Javascript
浅谈JavaScript中你可能不知道URL构造函数的属性
2020/07/13 Javascript
详解Vue中的watch和computed
2020/11/09 Javascript
python实现的重启关机程序实例
2014/08/21 Python
总结Python编程中函数的使用要点
2016/03/20 Python
Python 迭代器与生成器实例详解
2017/05/18 Python
Python标准模块--ContextManager上下文管理器的具体用法
2017/11/27 Python
python获取指定字符串中重复模式最高的字符串方法
2018/06/29 Python
numpy和pandas中数组的合并、拉直和重塑实例
2019/06/28 Python
如何基于Python实现自动扫雷
2020/01/06 Python
Airbnb爱彼迎官网:成为爱彼迎房东,赚取收入
2019/03/14 全球购物
人力资源管理专业应届生求职信
2013/09/28 职场文书
优良学风班申请材料
2014/02/13 职场文书
小班上学期评语
2014/05/05 职场文书
优质护理服务演讲稿
2014/05/07 职场文书
车贷收入证明范本
2014/09/14 职场文书
社会工作专业自荐信
2014/09/26 职场文书
学校就业保障协议书
2019/06/24 职场文书
代码复现python目标检测yolo3详解预测
2022/05/06 Python