Vue获取元素
Vue1.*版本中
<div class="box" v-el:myBox>你好</div>
将你好字体颜色设置为红色:this.$els.my-box.style.color=”red”
Vue2.*版本中
<div class="box" ref="myBox">你好</div>
将字体设置为红色:this.$refs.myBox.style.color = ‘red’
获取当前元素
var el = e.target;//当前元素 可修改(可用此方法获取到其子元素)
var el = e.currentTarget;//当前元素 ,不可修改,无法获取其子元素
jquery
还可以使用jquery获取元素,但不推荐
自定义事件
Vue实例实现了一个自定义事件接口,用于在组件树中通信,这个事件系统独立于原生DOM事件。
- 使用 $on() 监听事件
- 使用 $emit()在它上面触发事件
- 使用 $dispatch()派发事件事件沿着父链冒泡
- 使用 $broadcast() 广播事件,事件向下传导给所有的后代。
Slot 内容分发
内容分发在父组件使用子组件时可以在子组件中插入内容,在子组件中使用<slot></slot>
标签,父组件中加入的内容会被分发到<slot></slot>
中
动态组件
多个组件可以使用同一个挂载点,然后动态地在它们之间切换。使用保留的<component>
,动态地绑定到它的is特性:
<component :is="currentView">
<!-- 组件在该部分切换-->
</component>
如果把切换出去的组件保留在内存中,可以保留它的状态或避免重新渲染。可以使用keep-alive标签
编写可复用组件
Vue.js组件API来自三部分:prop,事件和slot
- prop允许外部环境传递数据给组件;
- 事件允许组件触发外部环境的action
- slot允许外部环境插入到内容到组件的视图结构内