vue-doc

作者: 玉面小猿 | 来源:发表于2018-09-19 13:21 被阅读0次

vue内部指令

1. v-if

用于判断是否加载DOM

2. v-show

DOM已经加载,用于判断是否显示

<div v-if="doLogin">登录</div>
<div v-show="isLogin">登录</div>
3. v-for

解决模板循环问题

//模板写法
<li  v-for="item in items">
        {{item}}
</li>
//js方法
var app = new Vue({
        el:"#app",
        data: {
           item:[20,23,18.65.32,19]
        }
})
4. computed
function sortNumber(a,b) {
  return a-b;
}
computed: {
  sortItems: function() {
    return this.item.sort(sortNumber);
  }
}

在vue低版本中,data 和computed可以一样
在高版本中,不允许同名称

5. v-text & v-html
  • v-text
    防止javascript加载出错时变量暴露在页面
  • v-html
    在javascript里写有html ,使用v-html输出
6.v-on 事件监听

change input 事件 defineProperty()

全局API

vue.nextTick()
理解为子组件更新的保守策略

自定义指令

自定义指令中传递的三个参数
el: 指令所绑定的元素,可以用来直接操作DOM。
binding: 一个对象,包含指令的很多信息。
vnode: Vue编译生成的虚拟节点。

自定义组件

注意 组件中的data 必须以函数的形式返回

 Vue.component('rachel',{                                                                                                
     data: function() {
     return { name: 'rachel'}
      },
    template: `<div>全局注册 我的名字{{name}}</div>`
    })
 var app = new Vue({
     el: '#app',
    })
父子组件通信方式

选项/数据

选项/组合

parent

通过this.parent 访问父实例,子实例被推入父实例的children数组中

节制地使用 $parent 和 $children - 它们的主要目的是作为访问组件的应急方法。更推荐用 props 和 events 实现父子组件通信

mixins

选项/ 其他

实例属性

vm.$el
vue实例使用的根DOM元素

有用的笔记

Object.assign 将所有的对象合并为一个新对象

<!-- 失活的组件将会被缓存!-->
<keep-alive>
  <component v-bind:is="currentTabComponent"></component>
</keep-alive>

一些疑惑

1. 自定义组件 .sync修饰符用法

[v] slot使用方法:
Vue.component() 要定义在new Vue()前面
data 要通过function return 出去
注意自定义元素的闭合,语法错误检查要仔细
https://cn.vuejs.org/v2/guide/components-slots.html

<!DOCTYPE html>                                                                                                                   
<html>
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width" />
        <script type="text/javascript" src="node_modules/vue/dist/vue.js"></script>
        <title>Set</title>
    </head>
    <body>
        <h1>Vue.prop</h1>
        <hr>
        <div id="app">
            <navigation-link url="navlink">
                hello,我是自定义组件的插槽函数,现在你看到我啦
            </navigation-link>
        </div>
    <script type="text/javascript">
       Vue.component('navigation-link', {
            data: 
                function() {
                    return {
                        url: 'www.com'}
                }
            ,
           template: `<div><a
                          v-bind:href="url"
                          class="nav-link"
                       > template中的a链接
                       </a>
                       <slot></slot>
                      </div>  ` 
           });
        
        var app = new Vue({                                                                                                       
            el:'#app',
            data: {
                msg:'hello',
            }
        });
       
    </script>
    </body>
</html>
2. 如何使用Vue.set 改变一个数组

源码

对象定义访问器属性定义可枚举 可配置
chidlObj.dep.depend
深度观察 依赖收集器进行收集
对数组方法进行检测 push unshift push splice
dependArray 依赖收集 深度遍历 如果数组是引用类型 仍然可以触发响应
reactiveSetter 判断是不是NAN
对watcher对象进行update操作
dep.js
nodity 触发所有更新对象的watcher方法
hycsun.me/vue-design/

相关文章

  • vue-doc

    vue内部指令 1. v-if 用于判断是否加载DOM 2. v-show DOM已经加载,用于判断是否显示 3....

网友评论

      本文标题:vue-doc

      本文链接:https://www.haomeiwen.com/subject/arhynftx.html