-
Notifications
You must be signed in to change notification settings - Fork 107
/
vueComponent.sublime-snippet
59 lines (54 loc) · 1.76 KB
/
vueComponent.sublime-snippet
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<snippet>
<content><![CDATA[
<template>
</template>
<script>
module.exports = {
//props: ['父组建传的值'],
data:function(){
console.log('1-1这里是组建的data,在route的 canActivate之后调用');
return {
msg:'这里返回数据'
}
},
//这里才是route的生存周期
route:{
//waitForData: true, //数据加载完毕后再切换试图,也就是 点击之后先没反应,然后数据加载完,再出发过渡效果
canActivate:function(transition){
//console.log('canActivate阶段,可以做一些用户验证的事情');
//return authenticationService.isLoggedIn()
console.log('1-canActivate');
//debugger;
return true;
},
activate:function(transition){
//console.log('active');
console.log('2-activate');
transition.next();
//此方法结束后,api会调用afterActivate 方法
//在aftefActivate中 会给组件添加 $loadingRouteData 属性 并设置为true
},
data: function(transition) {
var _this = this;
console.log('3-data--在 data 中获取数据比在 activate 中更加合理 见http://vuejs.github.io/vue-router/zh-cn/pipeline/data.html');
setTimeout(function(){
//在 transition.next({a:1}) 之前
//这里 _this.$loadingRouteData 是 true 因为此时获取
transition.next({a:1}); //这里必须要设置一个值 不能是 transition.next();
//这里 _this.$loadingRouteData 就是false了。 vue-router.js :2250 左右
},3000);
},
deactivate: function (transition) {
console.log('4');
console.log('Bar 销毁!')
transition.next()
}
}
}
</script>
<style>
</style>
]]></content>
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
<tabTrigger>vueComponent</tabTrigger>
</snippet>