鍍金池/ 問答/HTML/ vue 子組件 分別被不一樣的父組件使用,里面的接口數(shù)據(jù)也是不一樣的,應(yīng)該怎么

vue 子組件 分別被不一樣的父組件使用,里面的接口數(shù)據(jù)也是不一樣的,應(yīng)該怎么渲染同一個(gè)html呢? 提供復(fù)用性

比如說一個(gè)卡片組件,在A父組件的時(shí)候接口數(shù)據(jù)渲染到html是{{item.name}},在B組件里面的接口數(shù)據(jù)渲染到是{{list.user}} 怎么在同一個(gè)div里面展示這個(gè)數(shù)據(jù)呢

回答
編輯回答
老梗
2017年9月2日 01:10
編輯回答
拼未來

你是想父組件字段不一樣,而子組件都能渲染吧。
那只能分開傳props了。
比如

<template>
  <div>{{val}}</div>
</template>
// 
props: ['val']

假設(shè)子組件叫Item
一個(gè)父組件

<Item v-for="(item, index) in itemList" :val="item.name">

另一個(gè)父組件

<Item v-for="(list, index) in listArr" :val="list.user">
2018年3月31日 09:24
編輯回答
命于你

說的不是很清晰的感覺,如果你是想父子都使用一個(gè)數(shù)據(jù),那就父組件得到組件后用props傳遞給子組件讓它調(diào)用就可以了啊

2017年11月23日 11:19
編輯回答
離夢(mèng)

那就把字段也傳給子組件。
比如兩組不同數(shù)據(jù)

let arr1 = [{name: 'arr1'}, {name: 'arr-1'}];
let arr2 = [{user: 'arr2'}, {user: 'arr-2'}];

子組件里寫
{{item[name]}}
其中name是父組件傳遞過去的,可以是name,也可以是user。具體按照實(shí)際需求來。

當(dāng)然也可以對(duì)arr2map操作。

let arr3 = arr2.map(el => {
    return {
        name: el.user
    }
});
console.log(arr3);
// [{name: 'arr2'}, {name: 'arr-2'}];
2017年5月12日 00:38