const之后的{index}是什么意思?
let是什么意思?
forEach我知道是循环,后面也有一个三元表达式。但是中间那一块儿"forEach((v,i) == i",我就不明白了,v和i分别代表什么?
(1)
解构赋值。。
const {index} = e.detail 相当于 const index = e.detail.index
(2)
let、var 都是声明变量的东东,const声明常量的东东,用const写的常量不可以给它赋值,不然会报错。
(3)
forEach,循环的i相当于是tabs里每一个元素的下标,判断这个下标等等于从页面内容上拿到的index的话,设置tabs下面的该元素的isActive变量为true 否则false。
数组结构相当于是这样的。
tabs: [{ isActive: false },{ isActive: false },{ isActive: false }]
const 声明常量 let 声明变量
cosnt {index} = e.detail //e.detail 是一个集合或是对象 要拿其中的 index
可以理解为:var index = e.detail.index
let {tabs} = this.data // this.data 是一个集合或是对象 要拿其中的 tabs
可以理解为:var tabs = this.data.tabs
tabs.forEach((v,i)=>{
// v当前元素 i 当前元素的下标
//三元表达示 当 i( 当前元素的下标) 等于 index (也就是 e.detail.index)时 当前 元素 v 的属性isActive 动态赋值
true v.isActive =true false v.isActive=false
i==index ?v.isActive=true:v.isActive=false
})
const {index} = e.detail
解构赋值,相当于 const index = e.detail.index
{ a } = A
如果A中不存在a,即A.a不存在,则a = undefined
{ a = 5 } = A
如果A中不存在a,即A.a不存在,则a = 5,反之a = A.a的值
{ a:c = 5 } = A
如果A中不存在a,即A.a不存在,则a = 5,反之a = A.a的值,而c是a的别名,即c的值也和a一样
let的话,和var差不多,都是声明变量的,不过同个变量名不能使用 let 重复声明
如:
let a = 5;
let a = 6; // 会报错 Identifier 'a' has already been declared
而 var 可以重复声明同个变量名的变量
var b = 5;
var b = 6;
还有一个const,声明常量的,常量的值声明后不可赋值改变,不然就会报
const c = 5;
c = 6; // 会报错 Assignment to constant variable
arr.forEach(fn)
fn是一个函数,arr的每个元素都会经过这个函数处理, v是数组中每个元素,i是对应数组下标
(v, i) => === index ? v.isActive = true : v.isActive = false
相当于
function(v, i){
return i === index ? v.isActive = true : v.isActive = false
}
--↓↓👍点赞是回答的动力哦