美文网首页
VUE 学习笔记

VUE 学习笔记

作者: 素炒饼 | 来源:发表于2018-01-28 00:49 被阅读0次

新建项目

npm install vue-cli
vue init webpack exprice
npm install
npm run dev

注意事项

  • methods、watch、生命周期,不能使用箭头函数(箭头函数的 this 绑定父级上下文,不指向 Vue 实例)
  • setTimeout()、setInterval() 只能使用箭头函数

实例

var Vm = new Vue({
    el: '#id',  //绑定元素,同Vm.$mount()
    data:{
        key: val    //绑定数据
    },
    data: function(){
        //或 data(){...}
        //Vue组件中的data必须是一个函数  
    },
    computed:{
        key: function(){
            //计算属性,会根据依赖自动更新
        },...
    },
    filters:{
        key: function(){
            //数据过滤器
        },...
    },
    methods:{
        key: function(){
            //事件处理函数
        },...
    },
    watch:{
        key: function(){
            //数据观察
            //实例化时调用$watch遍历watch的每一个属性
        },...
    },
    生命周期钩子: function(8){
        //生命周期
    },
    components:{
        component_name: val //局部注册组件
    }
})

插值 Mustache

文本
<tag>{{...}}</tab>
输出HTML

站点上动态渲染的 HTML 会非常危险,因为它很容易导致 XSS 攻击。请只对可信内容使用 HTML 插值,绝不要对用户提供的内容使用插值。

<tag v-html="" />
JavaScript 表达式
  • 只能包含单个表达式
  • 只能访问全局变量的一个白名单,如 Math 和 Date 。不应该在模板表达式中试图访问用户定义的全局变量。
{{ number + 1 }}
{{ ok ? 'YES' : 'NO' }}
{{ message.split('').reverse().join('') }}
<div v-bind:id="'list-' + id"></div>

<!-- 这是语句,不是表达式 -->
{{ var a = 1 }}
<!-- 流控制也不会生效,请使用三元表达式 -->
{{ if (ok) { return message } }}

指令

指令 (Directives) 是带有 v- 前缀的特殊属性。当表达式的值改变时,将其产生的连带影响,响应式地作用于 DOM。

指令 : 参数 . 修饰符

属性绑定
<tag v-bind:attr="" />
<tag :attr="" />
事件绑定
<tag v-on:event="" />
<tag @event="" />
<tag @event.修饰符="" />

事件修饰符:

  • stop
双向绑定
<input v-model="" />
条件渲染
<tag v-if="" />
<tag v-else />
<tag v-if-else="" />
列表渲染
<tag v-for="item in/of items" />
<tag v-for="(index,item) in/of items" />

仅以下函数触发视图更新:

  • push() / pop()
  • shift() / unshift()
  • splice()
  • sort()
  • reverse()
只渲染元素和组件一次
<tag v-once />

计算属性

在模板中放入太多的逻辑会让模板过重且难以维护,对于任何复杂逻辑,都应当使用计算属性。

计算属性的 getter 函数是没有副作用 (side effect) 的,这使它更易于测试和理解。

var vm = new Vue({
  computed: {
    reversedMessage: function () {
        // 这里我们声明了一个计算属性 reversedMessage
        // 我们提供的函数将用作属性 vm.reversedMessage 的 getter 函数
    }
  }
})

相关文章

网友评论

      本文标题:VUE 学习笔记

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