发表于: 2019-02-19 23:28:26

0 562


today 

1.for in 遍历数组和for 遍历 数组:
先是一个例子:
var arr = ['a', 'b', 'c', 'd'];
// 使用for..infor (var i in arr) {
console.log('索引:' + i + ',值:' + arr[i]);
}
// 使用for循环for (var j = 0; j < arr.length; j++) {
console.log('索引:' + j + ',值:' + arr[j]);
}
/* 两种方式都输出:
* ----------------
* 索引:0,值:a
* 索引:1,值:b
* 索引:2,值:c
* 索引:3,值:d
 ECMAScript将对象的属性分为两种:数据属性访问器属性。每一种属性内部都有一些特性,这里我们只关注对象属性的[[Enumerable]]特征,它表示是否通过 for-in 循环返回属性,也可以理解为:是否可枚举。然后根据具体的上下文环境的不同,我们又可以将属性分为:原型属性实例属性。原型属性是定义在对象的原型(prototype)中的属性,而实例属性一方面来自己构造函数中,然后就是构造函数实例化后添加的新属性。
for-in 循环
使用for..in循环时,返回的是所有能够通过对象访问的、可枚举的属性,既包括存在于实例中的属性,也包括存在于原型中的实例。这里需要注意的是使用for-in返回的属性因各个浏览器厂商遵循的标准不一致导致对象属性遍历的顺序有可能不是当初构建时的顺序。(实例+原型中的可枚举属性
不推荐使用for-in 遍历数组,返回的是一个字符串数组

 

forof循环

//ES6中的for...of循环,遍历属性值for(let fruit of fruits){    console.log(fruit);
}



一个组件的 data 必须是一个函数
写组件要先注册,有全局注册和局部注册
全局注册的组件可以用在其被注册之后的任何 (通过 new Vue) 新创建的 Vue 根实例,也包括其组件树中的所有子组件的模板中。


Vue动态路由:

静态路由是不可以传递参数的。需要传递参数得用到动态路由

const routes: [

   //将页面组件与path指令的路由关联
   { name: 'BookInfo', path: '/books/:id', component: BookInfo}

]

这样定义之后,vue-router就会匹配所有的:/books/1,/books/2,/books/3 ……,所以说这样定义的路由的数量是不确定的。

在<router-link> 我们加入一个 params 属性来指定具体的参数值

     <li>
   <router-link :to ="{name:'BookInfo',params :{id:1}}" >
       <div>首页</div>
   </router-link>
</li>

这时候的链接地址

http://localhost:8080/__dirname/books/1

如果传递多个参数

如 path: '/books/version/:id',则对应params为:params :{id:1,version:1}


大概和angularjs 的 $stateparams类似,vue 中:

$route.params

要取出参数:

<p>当前图书编号是:{{$route.params.id}}</p>


官网是这么说的:

当使用路由参数的时候,如 从/books/1 到 /books/2 ,原来的组件实例会被复用,因为两个路由都渲染同一个组件,比起销毁后再创建,复用的销率会更高。 
这也就是说 组件的生命周期钩子不会再被调用(组件没有被销毁后再创建) ,即 created mounted 等钩子函数在页面第二次加载的时候回失效

那么,当复用组件时候,想对路由参数的变化做出响应的话,就需要在 $watch 对象内添加对 $route 对象变化的跟踪函数


看到这里对这个动态路由的理解是:

貌似就是 路由带上参数而已,和aj只是实现方法不一样,不是新概念


涉及到生命周期钩子的 概念,看的时候直接跳过了, 添加 $wactch 这个在aj中 基本上就忽略的 参数,明天继续 




tomorrow

1.写ppt

2.继续vue ,elementui

 





返回列表 返回列表
评论

    分享到