• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >vue > vue 2.0组件与v-model详解

vue 2.0组件与v-model详解

作者:一步小僧 字体:[增加 减小] 来源:互联网 时间:2017-05-30

本文主要包含vue2.0 组件通信,vue2.0 组件,vue2.0分页组件,vue2.0 自定义组件,vue2.0父子组件通信等相关知识,一步小僧 希望在学习及工作中可以帮助到您

前言

大家可能乍一看这个标题,可能会有疑问:v-model和组件也能扯到一起?在打算写这篇文章的时候,也是这么想的。咱们按简历的那一套STAR法则来梳理一下这篇文章:

情景【Situation】:

编写通用的输入组件时,子组件要绑定到父组件的某个变量上dataA,当父组件要拿到自组件的值时不能通过this.$children.xxx取值然后付给dataA,

而是父组件可以直接this.dataA就可以取到当前子组件最新值。

任务【Task】:

实现在父组件直接this.dataA就可以取到当前子组件最新值。

行动【Action】:

首先要了解v-model这个指令,许多认真阅读过完整vue文档的同学可能已经知道了关于v-model。

v-model官方给出的说发是:这其实是一个简写的形式,v-model实际执行的是下面的绑定:

<input type="text" v-bind:value="dataA" v-on:input="dataA = $event.target.value" />
</div>

v-model是动态绑定值到value,然后监听input的inpit事件获取值后赋给dataA的一个过程。

在说一下input的value属性,在组件内部要定义一个value的props属性,以便能够动态绑定上父组件传过来的值;

组件内部还要做一件事情:

动态计算(获取和设置)currentValue的值,用到了vue的对象的get和set函数;

讲到这里,我们就可以解决上面的问题了;

首先定义一个通用输入组件:

Vue.component('my-component',{
 template:'<div><input type="text" type="text" v-model="currentValue"/></div>',
 data:function(){
 return {
  // 双向绑定值-必须
  currentValue:this.value
 }
 },
 props:['value'],// 设置value为props属性-必须
 computed:{
 currentValue: {
  // 动态计算currentValue的值
  get:function() {
  return this.value;
  },
  set:function(val) {
  this.$emit('input', val);
  }
 }
 }
})
</div>

在Html里绑定到vue实例的一个字段上;

 <div id="demo_01">
 <my-component v-for="(val,key) in postData" v-model="postData[key]"></my-component>
 <button @click="showValue">打印对象值</button>
 </div>
</div>

实例里写一个方法

打印一下我们绑定的值;

var demo_01 = new Vue({
 el:'#demo_01',
 data:{
 postData:{
  name:'李雷',
  age:'80',
  describ:'这是一个传奇的人物'
 }
 },
 methods:{
 showValue:function(){
  console.log(this.postData)
 }
 }
});
</div>

是不是以后就不用繁琐冗长的this.$children.xxx取值方式了?

结果【Result】:

提供了有效的解决了关于输入类组件取值方案,并且已经部署实施。

总结

以上就是关于vue2.0 组件和v-model的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的帮助。

</div>

您可能想查找下面的文章:

  • vue2.0多条件搜索组件使用详解
  • Vue2.0表单校验组件vee-validate的使用详解
  • vue基于Vue2.0和高德地图的地图组件实例
  • vue2.0父子组件间通信的实现方法
  • vue 2.0组件与v-model详解
  • 详解vue2.0组件通信各种情况总结与实例分析
  • 基于Vue2.0的分页组件
  • Vue2.0利用 v-model 实现组件props双向绑定的优美解决方案
  • 基于vue2.0+vuex的日期选择组件功能实现
  • Vue2.0组件间数据传递示例

相关文章

  • 2017-05-30概述VUE2.0不可忽视的很多变化
  • 2017-05-30Vue.directive自定义指令的使用详解
  • 2017-05-30Vue.js:使用Vue-Router 2实现路由功能介绍
  • 2017-05-30Vue.js实战之组件之间的数据传递
  • 2017-05-30简单理解vue中实例属性vm.$els
  • 2017-05-30Vue.js动态添加、删除选题的实例代码
  • 2017-05-30使用vue实现点击按钮滑出面板的实现代码
  • 2017-05-30Vue.js原理分析之observer模块详解
  • 2017-05-30Vue.js结合bootstrap实现分页控件
  • 2017-05-30bootstrap vue.js实现tab效果

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • vue-resource 拦截器使用详解
    • Vue开发过程中遇到的疑惑知识点总结
    • vue.js学习之递归组件
    • Vuex之理解Mutations的用法实例
    • Vue.js 60分钟快速入门教程
    • 用v-html解决Vue.js渲染中html标签不被解析的问题
    • Vue.js常用指令汇总(v-if、v-for等)
    • 浅析vue数据绑定
    • vue2实现移动端上传、预览、压缩图片解决拍照旋转问题
    • Vue概念及常见命令介绍(1)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有