在找工作,angularjs被各种嫌弃,哎,人,都是喜新厌旧的。
vue的组件 加上指令 == angularjs的 指令
angularjs里指令没有明确的划分,但一般分成,装饰器型和组件型,也就是vue里的 指令和组件了。
组件
vue的组件非常清晰,比angularjs学起来要好很多,没有那一堆的参数,写法也更优雅。
1 注册方式
vue有两种注册方式,一是全局(Vue)上 二是new Vue()上。
angualrjs就只有后一种。
2 功能
这个有点多。额。。
vue里没有restrict,组件对应angularjs的E。指令是A
template: 相比,angularjs,它只有这一个。
data: 这个是vue里抽出来的, 在angularjs里是$scope,不过这个scope没有细分。
props: 对应 angularjs里的scope,vue里只有单向数据流,一下子少了好多东西,写法的区别是,vue有v-bind来绑定动态的数据。在angularjs里比较多,简单说就是双向 直接写 ,单向用{{}} 函数用 fn()
而且,angularjs中scope默认是 false的,在vue里他永远是true的。在vue里它还能验证数据的类型。这个在angularjs里是没看到的。
3 组件通信
同样的
on
o
n
emit 没太大的区别,就是angularjs里还有个$broadcase
vue里抛出的(emit)事件必须要在组件上监听(on),然后执行父的method ,在angularjs这些是 controller里的了。
差不多的套路
父 > 子 props
子 > 父 事件
组件 > 组件
用中央事件总线 或vuex
第一个词什么意思呢,其实很熟悉了,类似jq里的自定义事件了,或node中的 自定义event。用法简单讲就是 on(‘evnet’) 然后 emit/trigger 这样就可以联系两个两个组件了。,这个on写在组件里,这样就可以拿到它的data了。简单用下还是不错的。
在angularjs中 有个 还有广播,类似吧。
slot 内容分发,angualrjs里叫 trsclude
动态组件 这个好像没见过
refs 直接访问子组件
异步组件: 这个很赞啊,ng要麻烦很多
递归组件:差不多,,
指令
注册和也组件是一样的
指令上的钩子函数:….
参数:el binding ==element attrs
生命周期,零写一篇吧。。
官方文档不是多,看来好多东西要自己去体验了。