vue给组件传递不同的值方法

雪是一种能够令人产生多种情绪的东西,当窗外那像柳絮、像芦花般的雪花,正在纷纷扬扬地从天而降的时候,当大地被雪花装饰得像铺上白色的地毯一样的时候,站在窗户边上,望着它们。

这里讲解一下Vue 官网的一个实例,Vue将数据遍历传递给多个组件,这个是我们实际开发中常做的事情。一般大型应用都是使用组件搭建起来的,我们需要给组件传递不同的值,来实现不同的展现,实现代码的复用。

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title>Vue实例:父组件给子组件传递不同的值</title>
 <script src="https://cdn.bootcss.com/vue/2.5.17-beta.0/vue.js"></script>
</head>
<script>
window.onload = function(){
 //全局创建一个Vue组件
 Vue.component('todo-item', {
  props: ['todo'],
  template: '<li>{{ todo.text }}</li>'
 })

 //创建一个vue实例
 var app7 = new Vue({
  el: '#app',
  data: {
   groceryList: [
    { id: 0, text: '蔬菜' },
    { id: 1, text: '奶酪' },
    { id: 2, text: '随便其它什么人吃的东西' }
   ]
  }
 })
}

</script>
<body>
 <div id="app">
  <ol>
   <!-- 现在我们为每个 todo-item 提供 todo 对象todo 对象是变量,即其内容可以是动态的。我们也需要为每个组件提供一个“key”。-->
   <todo-item v-for="item in groceryList" v-bind:todo="item" v-bind:key="item.id"></todo-item>
  </ol>
 </div>
</body>
</html>

代码分析:

这里我直接使用了一个Vue的CDN,然后实例化Vue对象就可以使用。

创建一个vue实例

var app7 = new Vue({
  el: '#app',
  data: {
   groceryList: [
    { id: 0, text: '蔬菜' },
    { id: 1, text: '奶酪' },
    { id: 2, text: '随便其它什么人吃的东西' }
   ]
  }
 })

全局创建一个Vue组件

 Vue.component('todo-item', {
  props: ['todo'],
  template: '<li>{{ todo.text }}</li>'
 })

通过Vue的实例给组件赋不同的值(通过bind绑定值到一个变量上,子组件通过props接受传入的这个变量值)

<div id="app">
  <ol>
   <!-- 现在我们为每个 todo-item 提供 todo 对象todo 对象是变量,即其内容可以是动态的。我们也需要为每个组件提供一个“key”。-->
   <todo-item v-for="item in groceryList" v-bind:todo="item" v-bind:key="item.id"></todo-item>
  </ol>
 </div>

以上这篇vue给组件传递不同的值方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

您可能有感兴趣的文章
Vue路由参数的传递与获取方式详细介绍

vue学习记录之动态组件浅析

vue如何实现列表固定列滚动

vue如何实现伸缩菜单功能

vue项目中canvas如何实现截图功能