zoukankan      html  css  js  c++  java
  • vue的基本操作

    vue的基本概念

      挂载点:就是el属性对应html中的节点,实例只会处理挂载点下的内容。

       模版:在挂载点内部的内容,也可以将模版内容卸载实例里面

    如果有template属性会用模版替换外部html,只要有此属性app中的内容就没有意义,只能有一个根元素,不能是本文节点

       插值表达式:<h1>{{message}}</h1>     使用插值表达式可能会出现闪屏问题

      v-text表达式:<div v-text="message"></div>

      v-html表达式:<div v-html="message"></div>

     注意:v-text和v-html的区别:v-html会进行内容转义为html,而v-text则不会

      v-once:挂载点的内容页面只渲染一次

    基本指令

    v-on(可以简写成@):绑定指令例如:<div v-on:click="onchange"/>

    v-bind(可以简写为:):绑定数据。例如:<div v-bind:class="title" class="title"/> class和:class绑定不会发生冲突

    v-model:双向绑定 例如:<input v-model="message" type="text"/>    <div>{{message}}</div>

    v-computed:计算属性  只有它依赖的属性的值发生变化的时候他才会重新计算

    computed计算“属性”不是方法
    -方法不会有缓存,computed会根据依赖(归vue管理的数据,可以响应式变化的)
    的属性进行缓存
    -两部分组成有get和set(不能只写set) 一般情况下 通过js复制影响其他人或者表单元素设置值的时候可以调用set方法
    get()//返回什么结果,就会赋予给checkAll属性
    set()//val是给checkAll 赋予值的时候传递过来的

    watch观察者,只有值变化的时候才会触发
    watch:{
    a(newval,oldval){ //watch的属性名字要和观得人的名字一致
    console.log(newval,oldval)
    }
    }
    当需要在数据变化时执行异步或开销较大的操作时,这个方式是最有用的。
    使用watch选项允许异步操作,设置中间状态


    localStorage()将数据存储在本地
    localStroage.setItem('data',JSON.stringify(this.todos));存储数据,名为data

    created(){
    JSON.parse(localStorage.getItem('data'));
    }

    filters:过滤属性  用于筛选或规范数值  例如:{{message | filter1}}   filters:{filter1:function(arg){arg++}}

    v-watch:侦听属性  侦听某某以数据发生变化事发生的时间 

    v-if:/v-show:判断事件  值为true时模块显示,否则消失或隐藏

    注:v-if和v-show的区别 v-if会将整个标签在dom树中移除,而v-show只是将display设为none;

    v-for:遍历事件 例如:<li v-for="(item,index) of list" :key="index">{{item}}</li>

    localStorage():将数据存储在本地   

    例如:  localStorage.setItem('data',JSON.stringify(this.todos));    //存储数据在本地,名为data

                 created(){ this.todos = JSON.parse(localStorage.getItem('data')); }   //读取本地数据

    keep-alive:缓存组件  一旦缓存 不会重复加载,不会走crated和mounted等钩子函数

    钩子函数

    生命周期:beforCreate  created           创建期

                      beforeMount   mouted         挂载期

                      beforeUpdate  updated        更新期

                      beforeDestroy   destroyed   结束期

    如果有template属性会用模版替换外部html,只要有此属性app中的内容就没有任何意义了,只能有一个根元素,不能是文本节点

    this.$data vm上的数据
    this.$watch监控
    this.$el 当前el元素
    this.$set 后加的属性实现响应式变化
    this.$options


    this.$refs.dom 获取元素 //如果不是通过v-for循环出来的只能获取一个
    <p ref="myp">hello</p>
    console.log(this.$refs.myp); //<p>hello</p>


    如何数据变化后想要获取都没中的真实内容,需要等待页
    面渲染完毕以后再获取,所有最好放在nextTict
    例如: this.$nextTick(()=>{console.log(this.$refs.wrap)})


    keep-alive缓存组件
    一旦缓存 不会再走created mounted等钩子函数


    子组件和父组件同时拥有mounted,需要等子组件挂载完成后再触发父组件。

  • 相关阅读:
    vs项目,点击.sln文件时出错:“项目所需的应用程序未安装,确保已安装项目类型(.csproj)的应用程序”解决办法
    Oracle VM VirtualBox各种显示模式切换 热键
    ajax从asp后台获取数据
    js获取页面的宽度
    SharePoint列表数据展现方法
    select改变执行操作
    SharePoint中删除列表记录
    HP EliteBook 8770p打开Vt-x
    SPlist按PID层级顺序导入datatable
    Excel导入DataTable
  • 原文地址:https://www.cnblogs.com/binguo666/p/9075263.html
Copyright © 2011-2022 走看看