全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

vue组件实例解析

实现此例您可以学到:

  • vue-cli的基本应用
  • 父组件如何向子组件传递值
  • 单文件组件如何引入scss
  • v-on和v-for的基础应用
  • 源码下载

一、搭建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. 将用户输入的标签信息动态的添加到标签列表区域。
  2. 同名和空标签不能输入。
  3. 外部可以控制标签显示区域的宽度。

实现思路

  1. 一个输入框,用于接受标签内容的输入;
  2. 一个列表,用于展示所有输入的标签信息;
  3. 提供一个可设置属性,用于设置标签列表的宽度;

具体实现

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组件学习心得(新手必看篇)  # 最新版本  # 绑定  # 是一个  # 几个  # 相关内容  # 最重要  # 您可以  # 你想  # 但也  # 不存在  # 还需要  # 镜像  # 升级到  # 就来  # 等功能  # 提供一个  # 很低  # 主要用于  # 中以  # 需要用 


相关文章: 如何通过智能用户系统一键生成高效建站方案?  武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?  湖北网站制作公司有哪些,湖北清能集团官网?  专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?  C++中引用和指针有什么区别?(代码说明)  建站主机空间推荐 高性价比配置与快速部署方案解析  如何用腾讯建站主机快速创建免费网站?  常州企业网站制作公司,全国继续教育网怎么登录?  XML的“混合内容”是什么 怎么用DTD或XSD定义  定制建站策划方案_专业建站与网站建设方案一站式指南  建站之星如何快速更换网站模板?  建站之家VIP精选网站模板与SEO优化教程整合指南  广平建站公司哪家专业可靠?如何选择?  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  长沙做网站要多少钱,长沙国安网络怎么样?  Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  如何通过VPS建站实现广告与增值服务盈利?  头像制作网站在线制作软件,dw网页背景图像怎么设置?  如何设置并定期更换建站之星安全管理员密码?  北京建设网站制作公司,北京古代建筑博物馆预约官网?  如何在宝塔面板创建新站点?  如何选择高效便捷的WAP商城建站系统?  百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?  h5在线制作网站电脑版下载,h5网页制作软件?  如何用西部建站助手快速创建专业网站?  建站之星如何开启自定义404页面避免用户流失?  建站主机CVM配置优化、SEO策略与性能提升指南  宝塔建站教程:一键部署配置流程与SEO优化实战指南  浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?  如何通过IIS搭建网站并配置访问权限?  如何高效搭建专业期货交易平台网站?  兔展官网 在线制作,怎样制作微信请帖?  动图在线制作网站有哪些,滑动动图图集怎么做?  建站主机类型有哪些?如何正确选型  西安专业网站制作公司有哪些,陕西省建行官方网站?  焦点电影公司作品,电影焦点结局是什么?  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  建站为何优先选择香港服务器?  网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?  ,购物网站怎么盈利呢?  学校为何禁止电信移动建设网站?  香港服务器网站推广:SEO优化与外贸独立站搭建策略  佛山网站制作系统,佛山企业变更地址网上办理步骤?  音乐网站服务器如何优化API响应速度?  建站之星在线版空间:自助建站+智能模板一键生成方案  MySQL查询结果复制到新表的方法(更新、插入)  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  如何用低价快速搭建高质量网站?  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。