[英]Get the variable name in javascript
我有一个名为main的对象,它的其中一项data:指向定义为submenuitem的数组。 当用户单击某些内容时,UI会使用子菜单中的数组项进行更新 。 它还会更新顶部栏,以显示当前菜单的标题,该标题基本上是变量名SUBMENUITEMS 。
谁能告诉我如何获取子菜单项变量名称数据:“ ---> this <-”作为String?
let submenuItems = ["subMenu 1","subMenu 2","subMenu 3","subMenu 4","subMenu 5","subMenu 6"];
let main = {
title:'main menu',
menuLogo:'img/logo1.png',
data:submenuItems
}
编辑:
我看到很多困惑。 实际上,这是我使用Vuejs编写的代码的一部分-
<div v-for="(item,index) in dataArray" v-on:click="subMenu(item)" v-bind:id="'tile_'+index" class="card">
<div><img v-bind:src=item.menuLogo onerror="this.src='img/default.svg'" /></div>
<div>{{item.title}}</div>
<div>{{index+1}}</div>
</div>
let subhome = [
{"title":"sub_card_title","sub_cardimage":"sub_item1.png",data:[]},
{"title":"sub_card_title","sub_cardimage":"sub_item1.png",data:[]}, {"title":"sub_card_title","sub_cardimage":"sub_item1.png",data:[]},`
{"title":"sub_card_title","sub_cardimage":"sub_item1.png",data:[]}
]
let home = [
{"title":"card_title","cardimage":"item1.png",data:[]},
{"title":"card_title","cardimage":"item1.png",data:subhome}, {"title":"card_title","cardimage":"item1.png",data:[]},`
{"title":"card_title","cardimage":"item1.png",data:[]}
]
let menu = new Vue({
el: '#menu',
data: {
dataArray: home
},
methods: {
subMenu: function(item) {
if (item.data.length > 0) {
this.dataArray = item.data;
console.log('sub menu array -->', this.dataArray);
$('#menu-title').text(eval(item));
}
},setTitle: function(val) {
let title = eval(val); // <---- how to vaiable name of data array
$('#spancontainer').text(title)
}
}
});
当你做
let submenuItems = ["subMenu 1","subMenu 2","subMenu 3","subMenu 4","subMenu 5","subMenu 6"];
let main = {
title:'main menu',
menuLogo:'img/logo1.png',
data:submenuItems
}
它等于
let main = {
title:'main menu',
menuLogo:'img/logo1.png',
data:["subMenu 1","subMenu 2","subMenu 3","subMenu 4","subMenu 5","subMenu 6"]
}
为了获得"submenuItems"
,您需要将其作为对象传递并获得其键,如下所示
let main = {
title:'main menu',
menuLogo:'img/logo1.png',
data:{
submenuItems: submenuItems
}
}
console.log(Object.keys(main.data)[0]);
或仅创建一个新属性并将其设置为"submenuItems"
let main = {
title:'main menu',
menuLogo:'img/logo1.png',
data:{
name: 'submenuItems',
submenuItems: submenuItems
}
}
console.log(main.data.name);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.