博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vue组件之间的传值
阅读量:7033 次
发布时间:2019-06-28

本文共 1267 字,大约阅读时间需要 4 分钟。

要求:将输入框的内容显示在列表框,并点击列表删除

父向子传值:props:[]

子向父传值:this.$emit()

<div id='root'>

       <input v-model="inputValue"/>
      <button @click='handleSubmit'>提交</button>//点击按钮将输入框内容作为li显示
  <ul>
    <todo-item
      v-for='(item,index) of list'
      :content='item'//将item作为属性传递给子组件todo-item 
      :index='index'//将index作为属性传递给子组件todo-item 
      @delete='handleDelete'//监听子组件传递过来的delete事件名
    >
    </todo-item>
  </ul>
</div>

<script>

//定义组件(全局组件)
Vue.component('todo-item',{
  props:['content','index'],//接收传递过来的属性
  template:'<li @click="handleClick">{
{content}}</li>',
  methods:{
    handleClick:function(){
      this.$emit('delete',this.index)//将delete事件名及index属性传递给父组件
  }
  }
})
new Vue({
  el:'#root',
  data:{
  inputValue:'',
  list:[]
  },
  methods:{
    handleSubmit:function(){
      this.list.push(this.inputValue)
      this.inputValue=''//清空输入框
    },
    handleDelete:function(index){
    this.list.splice(index,1);
    }
  }
})
</script>

 

兄弟间传值

根据路径来传递及接收参数

在method里添加点击事件跳转的方法

使用this.$router.push({path:'/',query:{参数名:“参数值”}}),在接收页通过this.$router.query.参数名来获取参数

goPay(index, sid) {  this.$router.push({    path: '/payment',    query: {      tit: index,      price: this.cost[index].price,      sid: sid,    }  });

 

转载于:https://www.cnblogs.com/xiaoan0705/p/9394858.html

你可能感兴趣的文章
升级到 OS X Yonsemite 10.10后 Verions 崩溃
查看>>
Oracle共享池
查看>>
oracle JOB常见的执行时间
查看>>
自动补0
查看>>
Python如何批量给云主机配置安全组?
查看>>
iOS音频播放 (四):AudioFile
查看>>
Oracle 存储过程异常处理
查看>>
URL里面存在下划线导致SESSION在IE下被分隔
查看>>
自定义注册的 Windows服务 无法访问网络共享文件解决办法
查看>>
Python之 set的特点
查看>>
postgersql日志备份和还原
查看>>
ubuntu mysql 命令
查看>>
域名转IP (Java实现)
查看>>
【Neuroph】1、项目Maven引用最新包
查看>>
高并发与多线程区别
查看>>
nginx日志分析工具 goaccess-nginx
查看>>
手机可以实现利用putty来管理Linux服务器
查看>>
我是如何准备ThoughtWorks面试的
查看>>
the request was rejected because its size (2877943
查看>>
修改Servlet的默认模板
查看>>