vue.js - Vue:如何与父级的特定子组件通信
问题描述
我想将服务器发送的数据传递给指定的子组件。这就是我将组件添加到父组件的方式:
<my-order v-for="order in orders" :key="order.id" :generalData="order"></my-order>
尽管可以通过 标识组件key
,但我不明白如何才能到达特定元素(例如,我想更改由标识的特定元素的 a<span>
中的内容)并更改其内容。my-order
key
Orders
Order [key=1]
Order [key=2]
Order [key=3]
假设Order [key=2]
已在后端更新,我想在客户端反映该更改。所以我想Order [key=2]
在客户端更新这个特定的。
解决方案
您只需要将动态数据放入orders
.
前任:
服务器 API 返回此orders
json:
[
{
"id": 1,
"value": 100,
"some_data": null
},
{
"id": 2,
"value": 50,
"some_data": "Anything you can think"
},
{
"id": 3,
"value": 75,
"some_data": null
}
]
在您的组件中,您只需使用数据:
<my-order v-for="order in orders" :key="order.id" :generalData="order">
//Inside the component
<span v-if="generalData.some_data !== null">{{generalData.some_data}}</span>
//End Inside Component
</my-order>
这样,每个人都order
将获得您的唯一数据,否则跨度将不会some_data
呈现null
推荐阅读
- c++ - 决定函数体中的返回类型
- python - 重复 API 调用缓存响应,所以我需要完全杀死它并重试
- git - Github - 恢复在 github.com 上在线所做的更改
- api - Microsoft.Lync.Model.LyncClient.GetClient().ContactManager 为空
- node.js - 使用 firebase 读取 nodejs 承诺
- java - 在 Java 中截断持续时间
- amazon-web-services - 在无服务器 lambda 函数中使用来自其他堆栈的资源作为环境变量
- ruby-on-rails - 应该有更好的方法来编写不会抛出 NoMethodError 的代码,我被卡住了
- .net - 在 Visual Studio 2017 中打破 WebSocketExceptions
- android - 如何防止某些视图被键盘向上推?