总结&学习(5):
1:
- for循环
经常使用的方式是:在元素上绑定v-for,如:<li v-for="item in items">
,然后使用 的时候就是:{{item.XXX}}
, 我今天犯得错是:当数组中没有XXX
时,我就不知道怎么办了
其实当数组中的元素是对象的时候,使用对象访问表达式,才是item.XXX
,如果数组中的元素不是对象,那就是直接item。{{item}}
就可以了。
文档中:items 是源数据数组并且 item 是数组元素迭代的别名。
items就是我们循环需要的数组,item代表数数组中的每一项,从length为0,开始。所以才叫做数组元素迭代的别名。
2:
- <router-view>
<router-view>
代表一个容器,指在该区域中。通过路由的变化来切换该区域的内容,并且两个特点:
- 切换与被切换的组件,不是在页面中进行,而是在负责路由的
index.js
中进行。
切换与被切换的组件均为——<router-view>
所在页面的路由的——子路由。
当路由路由通过跳转发生切换时,组件自动在<router-view>
区域中切换。
注意:当一个route有子路由是,该route的path就不重要了,完全靠子路由来显示。用户只需要看到子路由的path, 而子路由的path 只是借了 该路由的一个壳子,如;
{
path: "/HelpCenterWrap",//帮助中心
component: HelpCenter,
children: [
{
path: "/HelpCenter",//问题导航
name: "ProblemNavigation",
component: ProblemNavigation,
},
{
path: "/HelpDetail",//帮助详情
name: "HelpDetail",
component: HelpDetail,
},
]
},
HelpCenterWrap
有两个字路由,所以他不重要了,因为我们不会去跳转到它所在页面,而是跳转到它的子页面。所以它也不需要name,而它的path只需要取一个有语义的名字即可。
- 当一个组件被通过
<router-view>
切换或被切换时,组件内容总是显示在<router-view>
区域中,同事<router-view>
所在页面的其余所有内容,会一直伴随切换或被切换的组件的路由显示。这就是俗话说的“借它一个壳”
3:
- splice
splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。
注释:该方法会改变原始数组。
该方法有三个参数(其中1,2为必填,3为可选):
- index: 整数, 规定添加/删除项目的位置。使用负数可以从数组结尾处规定位置。
- howmany:指要删除的项目数量。如果设置为0,则不会删除项目。
- item1,...,itemX : 可选,向数组添加新的项目。
返回值:Array。包含被删除项目的新数组。
splice()方法可以删除从index处开始的零或多个元素,并且用参数列申明的一个或多个值来替换哪些被删除的元素。
所以今天遇到的你写的:this.FilterConditionList.SelectedCondition.splice(idx,1)
就是从index开始,删除一个的意思。
总体来说:
/* 移除TAG */
removeTag(idx) {
this.FilterConditionList.SelectedCondition.splice(idx,1)
},
接收一个由点击事件传来的 —— 被点击对象在数组中的index。“1”,就代表就删除被点击的那个元素。
3:
- oncat()
oncat()方法用于连接两个或多个数组。
该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
语法:
arrayObject.concat(arrayX,arrayX,......,arrayX)
参数:arrayX
,必须。改参数可以是具体的值,也可以是数组对象,可以是任意多个。
返回值:返回一个新数组。该元素是通过吧所有的arrayX参数添加到arrayObject中生成的,如果要进行concat()操作的参数是数组,那么添加的时数组中的元素,而不是数组。
看完之后,我果断把代码改了。。。。
//原代码:
let a = _manyPlace.concat(_hotelName);
let b = a.concat(_price);
let c = b.concat(_support);
let d = c.concat(_appraise);
//改后:
let arr = _manyPlace.concat(_hotelName,_price,_support,_appraise);
出来一个bug: splice只能移除数组,但是现在我吧数组合并之后return,合并是在计算属性中,计算属性不是数组。明天解决
网友评论