Vue.js在我的对象数组中使用唯一 id 来获取我的对象的索引
Vue.js using unique id in my objects array to grab the index of my object?
Vue.component('post', {
template: "#my-component",
props: ['posty'],
methods: {
testFunc: function(index){
this.$parent.parentMethod(index);
}
}
});
var vm = new Vue({
el: "#app",
data: {
posts: [{ uuid: '88f86fe9d',
title: "hello",
votes: '15'
},
{
uuid: '88f8ff69d',
title: "hello",
votes: '15'
},
{
uuid: '88fwf869d',
title: "hello",
votes: '10'
}]
},
methods: {
parentMethod: function(index){
this.posts.splice(index, 1)
}
}
});
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<div id="app">
<div class="container-fluid">
<ul class="list-group">
<post v-for="posty in posts" :posty="posty" track-by="uuid"></post>
</ul>
</div>
</div>
<template id="my-component">
<div v-if="posty.votes === '15'">
<button v-on:click="testFunc(uuid)">{{posty.title}}</button>
</div>
<div v-else>
<button v-on:click="testFunc(uuid)">No</button>
</div>
</template>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/1.0.16/vue.js"></script>
</body>
</html>
我认为我在这里错过了一些非常重要的东西,但我相信使用 track-by="uuid"
将允许我获取相应对象的索引,以便我可以对该对象执行数组操作。我的示例不返回对象的索引。
1( 按 Id 跟踪在 Vue 中到底做了什么.js?
2( 如何获得对象索引的回报? track-by="$index"
不适用于对象数组,而仅适用于简单的数组。我需要一个解决方案,为我提供来自track-by="uuid"
的索引
'track-by' 仅用于提示 Vue,以便它可以跟踪每个节点的身份,从而重用和重新排序现有元素。
它不是你可以在方法中访问的东西,它只被 Vue 内部使用。
因此,您必须在单击事件中引用每个对象的 uuid,如下所示:
<button v-on:click="testFunc(posty.uuid)">{{posty.title}}</button>
但是,我认为您正在寻找以下内容:
<ul class="list-group">
<li v-for="(item, index) in items">
{{ testMethod(index) }}
</li>
</ul>
v-for
还支持当前项索引的可选第二个参数。这就是在 v-for 循环中传递项目索引的"Vue 方式"。
相关文章:
- 如何使用ng repeat中的选定输入更新我的对象
- Javascript对象/原型.我的理解错了吗
- 在我的例子中,如何将对象推入数组
- 我如何使用D3来强制用户点击g.node对象内部的圆形对象
- JSON.stringify正在忽略我的嵌套对象
- 是我的第三方JavaScript返回html还是只是一个空对象
- 如何让我的正则表达式代码在我的dojo cellWidget对象上工作
- 我的函数不会返回要保存在数组中的对象
- 我的 AJAX 请求对象无法正确解析 URL 的协议部分
- 在我的上下文中添加对象的动态方法
- 为什么我的猫鼬对象 Id 请求返回一个空数组
- 所以这是说我的法定对象中有一个未定义的变量
- 使用窗口对象练习我的对象文字函数
- 我可以设置这个吗'某事'在该服务中动态创建的嵌套对象中的服务?(可能是范围问题)
- 我的代码给了我一条错误消息:GetElementById()为null或不是对象
- 将变量的值分配给我的对象标识符 JSON
- 为什么我的Date对象返回当前日期
- 我可以't返回我的json对象
- 我的Javascript对象继承自什么
- AngularJS element.find更改了我的对象