美文网首页
2018-04-17

2018-04-17

作者: 小熊530 | 来源:发表于2018-04-17 23:11 被阅读0次

    总结&学习(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,合并是在计算属性中,计算属性不是数组。明天解决

    相关文章

      网友评论

          本文标题:2018-04-17

          本文链接:https://www.haomeiwen.com/subject/bhdmkftx.html