实现此例您可以学到:

一、搭建vue开发环境
1)更换镜像到cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
2)安装vue-cli
cnpm install -g vue-cli
3)初始化vue项目
命令模式进入项目所在的目录,如d:\test\,输入vue init 项目名称即可。如果你想引入vue2.0框架,必须把nodejs、webpack和npm升级到最新版本。
4)node-sass和sass-loader实现scss的编译
用cnpm安装node-sass和sass-loader,用于编译scss相关内容。
5)通过npm install 安装开发和运行依赖组件
进入刚创建好的目录,执行cnpm install安装所有的开发和运行依赖项
6)通过npm run dev支持调试版本
在安装成功后,直接运行npm run dev即可看到demo的运行界面。
注意:
1.按照上述步骤搭建最终可以创建好vue项目,但也遇到几个坑
2.安装的nodejs和webpack、npm不是最新版本
二、实现Tag组件
学习一个新框架,首先是看文档,最重要还是实践。写一个hello world过于简单,要玩就玩个大的。我们就来实现一个Tag(标签)组件领悟一下vue的强大。
组件需求
实现思路
具体实现
1. 模板内容代码
<template>
<div class="tag-wrap">
<span>标签:</span>
<input type="text" id="tag" name="tag" v-model="val" />
<button id="apply" v-on:click="add" >添加</button>
<ul class="tag-cont clear" v-bind:style="{width: width}">
<li v-for="item in cont">{{item}}</li>
</ul>
</div>
</template>
1.1 template只是模板语言的标记,解析后不会生成到页面,所以内容需要用一个div包裹住;
1.2 template中可以访问Js代码中data()和Methods、props等相关属性;
1.3 props用于父组件向子组件传递值,此值可以动态传递;
1.4 v-on绑定事件,v-for用于迭代集合。
2. Js代码
<script>
export default{
name: 'tag',
data () {
return {
cont: [],
val: ''
}
},
methods: {
add: function () {
let _val = this.val
if (_val.length === 0 || this.cont.indexOf(_val) > -1) {
return
}
this.cont.push(this.val)
}
},
props: {
width: {
type: String,
default: 'auto'
}
}
}
</script>
2.1 使用v-model="val"实现输入自动更新val这个属性;
2.2 add方法获取val这个属性的值,然后判断是否为空,以及是否在已添加标签数据中存储,如果不存在则添加到标签数组中。
2.3 props的width类型和默认值,限制类型为String,默认值为auto。
3. Scss代码
<style lang='scss' scoped >
@keyframes item-show{
from{ opacity: 0; }
}
.clear{
zoom: 1;
}
.clear:after{
content: '';
display: block;
width: 0px;
height: 0px;
overflow: hidden;
clear: both;
}
$back-color:#fed;
span{
background: $back-color;
}
.tag-cont{
list-style: none;
margin: 10px auto;
padding: 5px;
border: 1px solid lightblue;
}
.tag-cont > li{
float: left;
padding: 5px;
border:1px solid gray;
border-radius: 10px;
animation: item-show 1s;
margin: 10px;
}
</style>
3.1 用lang来标记style标签内的Css实现
4. 在App.vue中引入Tag组件,并组件到Vue的Components(组件库)中,然后在template中以标签的形式引用即可,代码如下:
<template>
<div id="app">
<tag width="300px"></tag>
</div>
</template>
<script>
import Tag from './components/Tag'
export default {
name: 'app',
components: {
Tag
}
}
</script>
5. 效果图
学习总结
Tag组件其实是一个很小的组件,业务价值很低,主要用于Vue新手入门。主要实现Vue常用的父组件改变子组件的值,view改变model,model的变化反应到view上,事件的绑定等功能。
还需要继承深入了解,以及vuex管理vue组件的应用,还有组件之间的通信。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# vue
# 组件
# vue2.0开发实践总结之疑难篇
# Vue2.0使用过程常见的一些问题总结学习
# vue2组件实现懒加载浅析
# vue2.X组件学习心得(新手必看篇)
# 最新版本
# 绑定
# 是一个
# 几个
# 相关内容
# 最重要
# 您可以
# 你想
# 但也
# 不存在
# 还需要
# 镜像
# 升级到
# 就来
# 等功能
# 提供一个
# 很低
# 主要用于
# 中以
# 需要用
相关文章:
微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?
建站主机是否等同于虚拟主机?
,巨量百应是干嘛的?
建站之星导航配置指南:自助建站与SEO优化全解析
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
岳西云建站教程与模板下载_一站式快速建站系统操作指南
如何用狗爹虚拟主机快速搭建网站?
宝塔面板如何快速创建新站点?
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
北京营销型网站制作公司,可以用python做一个营销推广网站吗?
建站之星如何开启自定义404页面避免用户流失?
网站代码制作软件有哪些,如何生成自己网站的代码?
如何快速辨别茅台真假?关键步骤解析
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
如何正确选择百度移动适配建站域名?
如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何制作一个表白网站视频,关于勇敢表白的小标题?
网站制作费用多少钱,一个网站的运营,需要哪些费用?
南平网站制作公司,2025年南平市事业单位报名时间?
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
完全自定义免费建站平台:主题模板在线生成一站式服务
北京网站制作网页,网站升级改版需要多久?
如何在Windows服务器上快速搭建网站?
h5网站制作工具有哪些,h5页面制作工具有哪些?
广州网站建站公司选择指南:建站流程与SEO优化关键词解析
如何快速生成橙子建站落地页链接?
制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?
北京网站制作的公司有哪些,北京白云观官方网站?
Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解
广州商城建站系统开发成本与周期如何控制?
如何确认建站备案号应放置的具体位置?
如何构建满足综合性能需求的优质建站方案?
PHP 500报错的快速解决方法
制作网页的网站有哪些,电脑上怎么做网页?
c# await 一个已经完成的Task会发生什么
如何在香港免费服务器上快速搭建网站?
如何快速生成凡客建站的专业级图册?
建站之星安装路径如何正确选择及配置?
金*站制作公司有哪些,金华教育集团官网?
建站主机SSH密钥生成步骤及常见问题解答?
图册素材网站设计制作软件,图册的导出方式有几种?
建站之星上传入口如何快速找到?
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
建站之星IIS配置教程:代码生成技巧与站点搭建指南
如何配置IIS站点权限与局域网访问?
如何通过VPS搭建网站快速盈利?
免费ppt制作网站,有没有值得推荐的免费PPT网站?
如何在阿里云ECS服务器部署织梦CMS网站?
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?
*请认真填写需求信息,我们会在24小时内与您取得联系。