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使用技巧简单汇总
Apr 18 Javascript
jquery的ajaxSubmit()异步上传图片并保存表单数据演示代码
Jun 04 Javascript
javascript中全局对象的isNaN()方法使用介绍
Dec 19 Javascript
javascript数据结构之双链表插入排序实例详解
Nov 25 Javascript
微信小程序 navigation API实例详解
Oct 02 Javascript
AngularJS 获取ng-repeat动态生成的ng-model值实例详解
Nov 29 Javascript
使用classList来实现两个按钮样式的切换方法
Jan 24 Javascript
JavaScript实现百度搜索框效果
Mar 26 Javascript
vue 动态绑定背景图片的方法
Aug 10 Javascript
React注册倒计时功能的实现
Sep 06 Javascript
js中自定义react数据验证组件实例详解
Oct 19 Javascript
使用layui实现的左侧菜单栏以及动态操作tab项方法
Sep 10 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在线代理转向代码
2012/05/05 PHP
PHP 冒泡排序 二分查找 顺序查找 二维数组排序算法函数的详解
2013/06/25 PHP
PHP面向对象程序设计之接口用法
2014/08/20 PHP
C# WinForm中实现快捷键自定义设置实例
2015/01/23 PHP
PHPCMS手机站伪静态设置详细教程
2017/02/06 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
json格式化/压缩工具 Chrome插件扩展版
2010/05/25 Javascript
BOM与DOM的区别分析
2010/10/26 Javascript
mailto的使用技巧分享
2012/12/21 Javascript
jQuery UI 实现email输入提示实例
2013/08/15 Javascript
javascript中数组的concat()方法使用介绍
2013/12/18 Javascript
javascript获取隐藏元素(display:none)的高度和宽度的方法
2014/06/06 Javascript
JavaScript实现弹出子窗口并传值给父窗口
2014/12/18 Javascript
pace.js页面加载进度条插件
2015/09/29 Javascript
js实现接收表单的值并将值拼在表单action后面的方法
2015/11/23 Javascript
JS中位置与大小的获取方法
2016/11/22 Javascript
JS 设置Cookie 有效期 检测cookie
2017/06/15 Javascript
基于JavaScript实现抽奖系统
2018/01/16 Javascript
使用webpack编译es6代码的方法步骤
2019/04/28 Javascript
详解vue2.0模拟后台json数据
2019/05/16 Javascript
使用纯前端JavaScript实现Excel导入导出方法过程详解
2020/08/07 Javascript
[01:03]DOTA2新的征程 你的脚印值得踏上
2014/08/13 DOTA
python里使用正则表达式的组嵌套实例详解
2017/10/24 Python
python+pyqt实现12306图片验证效果
2017/10/25 Python
python最长回文串算法
2018/06/04 Python
python批量识别图片指定区域文字内容
2019/04/30 Python
Python笔记之工厂模式
2019/11/20 Python
使用python turtle画高达
2020/01/19 Python
jupyter notebook 多环境conda kernel配置方式
2020/04/10 Python
深入浅析HTML5中的SVG
2015/11/27 HTML / CSS
英国皇家造币厂:The Royal Mint
2018/10/05 全球购物
采用怎样的方法保证数据的完整性
2013/12/02 面试题
西安夏日科技有限公司Java笔试题
2013/01/11 面试题
中职生自荐信
2013/10/13 职场文书
四查四看剖析材料
2014/02/14 职场文书
村党支部换届选举方案
2014/05/02 职场文书