Vue的基础理解(五)

自定义v-model是怎么实现的?

v-model实质上是v-on和v-bind的语法糖,用来在表单控件或组件上建立双向绑定;css

<input v-model='searchText'>

等价于

<input
    v-bind:value='searchText'
    v-on:input='searchText = $event.target.value'>

在一个组件上使用v-model,默认会为组件绑定名为value的prop和名为input的事件vue


Vuex和单纯的全局对象有什么区别?

  • 单纯的全局变量:调试将会变为噩梦,任什么时候间,咱们应用的任何部分,在任何数据改变后,都不会留下变动的记录,也就是能够随意更改,并且没有留下任何记录,后期项目会没法维护vuex

  • vuex中全部的状态更新的惟一方式都是提交mutation,异步操做须要经过action来提交mutation(dispatch)。这样使得咱们能够方便地跟踪每个状态的变化,从而让咱们可以实现一些工具帮助咱们更好地使用vuex;异步


为何vuex的mutation中不能作异步操做?

  • vuex中全部的状态更新的惟一方式都是提交mutation,异步操做须要经过action来提交mutation(dispatch)。这样使得咱们能够方便地跟踪每个状态的变化,从而让咱们可以实现一些工具帮助咱们更好地使用vuex;工具

  • 每一个mutation执行完后都会对应获得一个新的状态变动.spa

  • 若是mutation支持异步操做,就没有办法知道状态是什么时候更新,没法很好的进行状态追踪,影响调试效率.双向绑定

v-show 和 v-if有什么区别?

  • v-show 只是基于css进行切换,无论什么条件都会进行渲染。(display:block|none;)
  • v-if 条件不成立就不会渲染当前节点的DOM,

总结:v-if 的切换开销比较大,v-show的初始化开销比较大,因此在须要频繁显示和隐藏的状况下使用v-show,渲染后不多进行切换则使用v-if更适合。调试

相关文章
相关标签/搜索