2018-04-17

总结&学习(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>代表一个容器,指在该区域中。通过路由的变化来切换该区域的内容,并且两个特点:
  1. 切换与被切换的组件,不是在页面中进行,而是在负责路由的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只需要取一个有语义的名字即可。

  1. 当一个组件被通过<router-view>切换或被切换时,组件内容总是显示在<router-view>区域中,同事<router-view>所在页面的其余所有内容,会一直伴随切换或被切换的组件的路由显示。这就是俗话说的“借它一个壳”

3:

  • splice

splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。

注释:该方法会改变原始数组。

该方法有三个参数(其中1,2为必填,3为可选):

  1. index: 整数, 规定添加/删除项目的位置。使用负数可以从数组结尾处规定位置。
  2. howmany:指要删除的项目数量。如果设置为0,则不会删除项目。
  3. 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,合并是在计算属性中,计算属性不是数组。明天解决

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Java集合 ★★★★★集合框架:用于存储数据的容器。 特点: 1:对象封装数据,对象多了也需要存储。集合用于存储...
    毛子果阅读 3,971评论 0 1
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,218评论 25 709
  • Array.of()函数 函数作用:将一组值,转换成数组。 传进去的数字是:1~5,最后经过Array.of函数...
    CRUD_科科阅读 2,241评论 0 1
  • 天蓝海碧金沙请情 神云漫天舞,轻雾迷远山。 大浪淘沙忙,堆雪递层行。 海沙掩足深,佳丽迎风追。 目寻彩贝奇,斜阳琉...
    李韧恒阅读 1,688评论 0 0
  • 每个人都会有一段刻骨铭心的感情,明恋也好,暗恋也罢。很多时候,你不是放不下那段感情,只是忘不了为了那段感情百般...
    喜欢桃夭的浪子阅读 4,496评论 2 3

友情链接更多精彩内容