以下Vue.js组件模板中的代码中的“ props.item”是什么?
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.home, menu);
MenuItem getItem = menu.findItem(R.id.action_addcart);
if (getItem != null) {
cartCounterActionView = (CartCounterActionView) getItem.getActionView();
cartCounterActionView.setCount(new Database(this).getCountCart(Common.currentUser.getPhone()));
//Set a ClickListener, the text,
//the background color or something like that
cartCounterActionView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FragmentTransaction tx = getSupportFragmentManager().beginTransaction();
tx.replace(R.id.frame, new Cart());
tx.commit();
}
});
}
return true;
}
此代码段上方没有“ item”的定义。该组件的道具定义如下:
<div class="expand" v-if="expand">
<v-progress-linear :indeterminate="true"
height="5"
v-if="testTable.length === 0" />
<v-data-table v-else-if="tableHeaders"
:headers="tableHeaders"
:items="testTable"
hide-actions>
<template slot="items" slot-scope="props">
<td v-for="(field, key) in props.item" :key="key">{{ field }}</td>
</template>
</v-data-table>
所以我不知道要在哪里搜索“物品”以及它来自何处。
答案 0 :(得分:2)
item
是传递到items
组件中插槽v-data-table
的一条数据,以便在v-data-table
组件为父组件时可以访问它用过的;即在v-data-table
中,有一个插槽定义为:
<slot name="items" :item="..."></slot>
// ^^^^ and this is where the item comes from
您可以了解有关scoped slots here的更多信息。