привет, у меня дилемма, я пытаюсь показать и скрыть содержимое из списка
У меня есть объект в данных
{
types : {
key_1 : { code: 'code_1', text: 'hello 1', show: false },
key_2 : { code: 'code_2', text: 'hello 2', show: false },
key_3 : { code: 'code_3', text: 'hello 3', show: false },
key_4 : { code: 'code_4', text: 'hello 4', show: false },
key_5 : { code: 'code_5', text: 'hello 5', show: false },
}
}
и еще один в localStorage
[
{ key_6 : { code: 'code_6', text: 'hello 6', show: false } },
{ key_7 : { code: 'code_7', text: 'hello 7', show: false } },
{ key_8 : { code: 'code_8', text: 'hello 8', show: false } },
{ key_9 : { code: 'code_9', text: 'hello 9', show: false } },
]
в созданном
created: function(){
let datas = JSON.parse(window.localStorage.getItem('types'));
datas.forEach( o => {
this.types[o.code] = {
text : o.text,
show : false,
};
});
},
это отлично работает this.types, естьоба списка теперь есть HTML
<ul>
<li v-for="(v,k) in types" :key="k">
<a @click="opClo(k)">
<span>{{v.text}}</span>
</a>
<ol v-show="v.show">
<li>hello</li>
</ol>
</li>
</ul>
в методах
opClo : function( key ){
this.types[key].show = !this.types[key].show;
},
opClo должен был бы показать илискрыть ol
, но не получается, открывается только data
, вызов не открывается, как решить эту проблему?