vue组件实例解析

  

<>强实现此例您可以学到:

  
      <李> vue-cli的基本应用李   <李>父组件如何向子组件传递值   <李>单文件组件如何引入scss李   <李> v和v代表的基础应用李   <李>源码下载李   
  

<强>一、搭建vue开发环境

  

1)更换镜像到cnpm

  

npm安装- g cnpm——注册表=https://registry.npm.taobao.org

  

2)安装vue-cli

  

cnpm安装- g vue-cli

  

3)初始化vue项目

  

命令模式进入项目所在的目录,如d: \ \测试,输入vue init项目名称即可。如果你想引入vue2.0框架,必须把nodejs, webpack和npm升级到最新版本。

  

4) node-sass和sass-loader实现scss的编译

  

用cnpm安装node-sass和sass-loader,用于编译scss相关内容。

  

5)通过npm安装安装开发和运行依赖组件

  

进入刚创建好的目录,执行cnpm安装安装所有的开发和运行依赖项

  

6)通过npm运行dev支持调试版本

  

在安装成功后,直接运行npm运行dev即可看到演示的运行界面。

  

  

1。按照上述步骤搭建最终可以创建好vue项目,但也遇到几个坑

  

2。安装的nodejs和webpack, npm不是最新版本

  

<强>二,实现标签组件

  

学习一个新框架,首先是看文档,最重要还是实践。写一个hello world过于简单,要玩就玩个大的。我们就来实现一个标签(标签)组件领悟一下vue的强大。

  

  
      <李>将用户输入的标签信息动态的添加到标签列表区域。   <李>同名和空标签不能输入。   <李>外部可以控制标签显示区域的宽度。   
  

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

  

<强>

        & lt; template>   & lt; div类=皌ag-wrap”比;   & lt; span>标签:& lt;/span>   & lt;输入类型="文本" id="标签" name="标签" v模型=皏al”/比;   & lt;按钮id="应用" v:点击=疤砑印弊4翘砑? lt;/button>   & lt; ul类=皌ag-cont明显“v-bind:比;   & lt;李v=癱ont项目”在{{项}}& lt;/li>   & lt;/ul>   & lt;/div>   & lt;/template>      

1.1模板只是模板语言的标记,解析后不会生成到页面,所以内容需要用一个div包裹住;

  

1.2模板中可以访问Js代码数据()和方法中,道具等相关属性;

  

1.3道具用于父组件向子组件传递值,此值可以动态传递,

  

1.4 v绑定事件,v)用于迭代集合。

  

<强>

        & lt; script>   出口默认{   名称:“标签”,   数据(){   返回{   续:[],   瓦尔说:“   }   },   方法:{   添加:函数(){   让_val=this.val   如果(_val。长度===0 | | this.cont.indexOf (_val)比;1){   返回   }   this.cont.push (this.val)   }   },   道具:{   宽度:{   类型:字符串,   默认值:“汽车”   }   }   }   & lt;/script>      

2.1使用v模型=皏al”实现输入自动更新瓦尔这个属性;

  

2.2添加方法获取val这个属性的值,然后判断是否为空,以及是否在已添加标签数据中存储,如果不存在则添加到标签数组中。

  

2.3类道具的宽度型和默认值,限制类型为字符串,默认值为汽车。

  

<强>

        & lt;风格lang=scss的范围比;   @keyframes项目展示{   从{不透明度:0;}   }   .clear {   变焦:1;   }   .clear:{后   内容:”;   显示:块;   宽度:0 px;   高度:0 px;   溢出:隐藏;   明确:;   }      美联储美元背景色:#;   跨度{   背景:$背景色;   }   .tag-cont {   list-style:没有;   保证金:10 px汽车;   填充:5 px;   边界:1 px固体lightblue;   }   .tag-cont祝辞李{   浮:左;   填充:5 px;   边界:1 px固体灰色;   border - radius: 10 px;   动画:项目展示1;   保证金:10 px;   }   & lt;/style>   之前      

  

<强>

        & lt; template>   & lt; div id=坝τ谩北?   & lt;标签宽度=" 300 px "祝辞& lt;/tag>   & lt;/div>   & lt;/template>   & lt; script>   从’。/组件/导入标签标记的   出口默认{   名称:“应用程序”,   组件:{   标签   }   }   & lt;/script>   

vue组件实例解析