• vue学习笔记


    常用vue指令

    {{theValue}}文本值绑定
    v-bind:title="value":属性值绑定
    v-if="value":条件指令
    v-for="item in arr":循环指令
    v-on:click="deal"事件监听指令
    v-model="theValue":双向绑定
    v-once:只更新一次
    v-html="theHtml" 允许包含html标签元素

    声明vue对象

    var app=new vue({
    el:'#map1',
    data:{theValue:'aa'},
    created() function () {
      this.debouncedGetAnswer = _.debounce(this.getAnswer, 500)
    },
    mounted(){
    },
    
    computed: {
      reversedMessage: function () {
        return this.message.split('').reverse().join('')
      }
    },
    methods: {
      reversedMessage: function () {
        return this.message.split('').reverse().join('')
      }
    },
    watch: {
      firstName: function (val) {
        this.fullName = val + ' ' + this.lastName
      },
      lastName: function (val) {
        this.fullName = this.firstName + ' ' + val
      },
      question: function (newQuestion, oldQuestion) {
        this.answer = 'Waiting for you to stop typing...'
        this.debouncedGetAnswer()
      }
    }
    })

    计算属性

    计算属性vs方法: 可以达到同样的效果,但是,计算属性只有当依赖绑定属性更新时执行,方法则会一直执行。
    计算属性vs侦听器:可以达到同样的效果,但是,计算属性是依赖于绑定属性更新的,自动执行,写法比监听器(多个对象要监听多次)简单

    访问数据属性

    app.theValue,app.$data.theValue

    变量变化监控
    vm.$watch('a', function (newValue, oldValue) {xxxxx})

    (当需要在数据变化时执行异步或开销较大的操作时)

    生命周期

    创建created,挂载mounted,更新updated,销毁destroyed

    等于符号

    ==是值是否相等,===是对象是否相等。


    v-bind动态参数
    <a v-bind:[attributeName]="url">
    <a v-bind:[eventName]="aaa">

    事件修饰符
    <form v-on:submit.prevent="onSubmit"
    .stop
    .prevent
    .capture
    .self
    .once
    .passive
    event.preventDefault() 或 event.stopPropagation()


    指令的简写
    v-bind,冒号:,v-on,邮箱符号@


    注册组件

    Vue.component('todo-item', {
        data: function () {
            return {
            count: 0
            }
        } ,
        props: ['todo'],
        template: '<li>{{ todo.text }}</li>'
    })           

    class绑定+style绑定
    对象语法:<div v-bind:class="classObject"></div>
    数组语法:<div v-bind:class="[{ active: isActive }, errorClass]"></div>

    对象语法:<div v-bind:style="styleObject"></div>
    数组语法:<div v-bind:style="[baseStyles, overridingStyles]"></div>

    注意事项

    一、数组更新
    以下情况,vue不能检测到
    1、利用索引设置数组项时
    vm.items[indexOfItem] = newValue
    2、修改数组长度时
    vm.items.length = newLength
    解决办法:
    问题1:
    Vue.set(vm.items, indexOfItem, newValue)
    vm.$set(vm.items, indexOfItem, newValue)
    vm.items.splice(indexOfItem, 1, newValue)
    问题2:
    vm.items.splice(newLength)

    2、对象属性的添加或删除

    Vue 不能检测对象属性的添加或删除
    解决办法:
    Vue.set(object, propertyName, value)
    vm.$set(vm.userProfile, 'age', 27)


    添加多个属性:
    Object.assign()

  • 相关阅读:
    二维几何前置知识
    点分治学习笔记
    $fhq-treap$学习笔记
    对拍使用方法
    2021.2.18-2021.5.18 三个月后端开发实习的学习路径
    蓝桥杯常考算法 + 知识点
    Linux
    Linux
    Intern Day112
    Linux上编译运行C/C++程序
  • 原文地址:https://www.cnblogs.com/tiandi/p/12243867.html
Copyright © 2020-2023  润新知