2017-02-09 49 views
2

我很新vue js。我尝试传递参数来获取点击列表的索引,但我仍然无法更新它的属性值。在触发列表中更改绑定列表中的值vue js

我想更新的isState值设置为 “1”,单击

时,这是我的名单

<li v-for="(link, index) in links"> 
    <a :state="isState" 
    @click="onlink_click(link.link_text,index)"> 

    {{link.link_text}} 

    </a> 
</li> 

事件处理

methods: { 
onlink_click(this_link,index){ 
    this.links[index].isState = "1" } 

数据

data(){ 
return { 
isState: "0", 
links : [ 
{link_text :"Home"}, 
{link_text:"About"}, 
{link_text:"Porfolio"}, 
{link_text:"Contact"}] } 
} 
+0

有没有isState财产入链接数组 - http://jsbin.com/wuhiwufoye/edit?html,js,console,output这是否适合你? –

+0

我想要的是当我点击“家庭”链接它会更新自己的'isState',它不会影响其他列表 – clarkoy

+0

是的,但每个对象到链接数组只有link_text属性 - 你应该定义新的属性每个对象isState –

回答

0

按@Belmin Bedak建议,你可能会想这样做:

data() { 
    return { 
    ... 
    links: [ 
     { 
      link_text: "Home", 
      isState: 0 
     }, 
     ... 
    ] 
    } 
} 

然后在点击就可以做到这一点

onClickMethod: function (text) { 
    this.links.find(link => link.link_text === text).isState = 1 
}