问一个 VueJs 的问题,变量引用问题?
我想这么写 不行
<div v-for="item of list"><div @click="PromptSetValue(item.it)"></div>
function PromptSetValue(e){
var text = prompt();
e = text;
}
需要这么写 才可以
https://codepen.io/tsymq-live...
<div v-for="item of list"><div @click="PromptSetValue(item)"></div>
function PromptSetValue(e){
var text = prompt();
e.it = text;
}
有没有什么好办法,因为还需要在其它地方用的这个方法
回答:
上面那种不行是因为你传递的已经是个原始值了,并不是对象,所以没有反应,如果是要抽离这个逻辑的话,可以加个key参数
<div v-for="item of list"><div @click="PromptSetValue(item, 'it')"></div>
function PromptSetValue(e, key){
var text = prompt();
e[key] = text;
}
回答:
另一种方法
<div v-for="item of list"><div @click="PromptSetValue((val)=>item.it=val)"></div>
function PromptSetValue(funCall){
var text = prompt();
funCall && funCall(text);
}
以上是 问一个 VueJs 的问题,变量引用问题? 的全部内容, 来源链接: utcz.com/p/933104.html