Vue.js 必须知道的 17个 入门知识点

Vue作为一个强有力的前端框架 适合很多人去学习

在这片文章中 我主要概括一下 Vue里面的定义

 

1. Interpolation  (String interpolation):  {{}}就是俩个括弧


2. VueJs Template 

我们不储存任何 变量在Vue 的instance中 我们 只是为HTML 创造一些template

因此Vue不增加运行时间

那什么是Template 呢 就是 {{}} 这样性质的专用框架语句去调值

然后根据这些template去生成真正的HTML code  改后 递交给DOM


3. Template and Instance

我们能使用Template保存方程 并且把运算结果输出


4. Accessing data in the Vue instance:

如果Vue 的mothods 想调用 Vue 的data, 像Java一样 用 this.dataname


5. Binging to Attributes

v-bind: 添加在attributes 之前 

意思是不用普通的html, 而是要用vue的


6.Directives

这个名词的意思是 一种指令去告诉HTML 就像是v-bing:href 意思是告诉HTML 现在要用老子我的 规则 

这个是可以加在HTML code中


7. v-once

意思是我加载出来之后就不改了!

比如

<p id="god" v-once>G.O.D<p>

就算你获取id 去更改这个 也不会变


8. How to Output Raw HTML

<p v-html = "link">This is Link </p>

in Vue /data

link = "<a href="Google.com">"

v-html可以确保运行整个Raw data


9. Listening to a event

v-on: 后面加一系列的动作 比如click mouseon keydown


10. Getting event data

如何得到 一个 input中的 字符呢

可以用方程去调取

 function(event) { this.value = event.target.value)


11. Javascript code in the temple

 比如在 Vue/data 中

a = 1 

在HTML 中 {{ a * 2}} 就会显示为 2 .      HTML 的template中可以直接运行这个code


12. Two-Way binding 

如何通过一步就做到俩步的事情呢

v-model = "biindingitem" 

多用于input field 比如你有一个input 是负责更新 data 的

你可以直接输入 10

然后所有其他区域的data都更新为10


13. Computed Properities

computed: {method, data}  在HTML template 中 {{computed}}     不管是function object 还是 data object, 全都像是data object 一样使用

和methods 的区别在于 

如果有俩个一样的方程一个在 methods中 一个在 computed中

他们俩里面都会去检查一个 a 的量 如果 大于10 返回 ‘a 大于10’

methods 会导致这个page/DOM中任何一个量变化了 都会重新运算一遍

computed 则会先检查这个方程中的量 只有a变化才会重新运算

这样会减少很多使用空间!!! computed帮我们保存了它的data的cache


14. watch property:

execute code upon data changes 

这个组里面的事物 仅仅针对一个data 例如上面的一个例子 我们data里面有一个 counter 去收集点击次数

watch: {
    counter: function() {
         var vm = this;
         setTimeout(function() {
            vm.counter = 0;
         }, 2000);
    }
};

那有人就想知道 这个watch 如何在computed 之上提高效率 ?

computed 是同步 运行的 需要等待其他任务结束 才能运行 

=====================================================

但是 反之来说 computed被更推荐应用于 更多场景中

var vm = new Vue({
  el: '#demo',
  data: {
    firstName: 'Foo',
    lastName: 'Bar',
    fullName: 'Foo Bar'
  },
  watch: {
    firstName: function (val) {
      this.fullName = val + ' ' + this.lastName
    },
    lastName: function (val) {
      this.fullName = this.firstName + ' ' + val
    }
  }
})


var vm = new Vue({
  el: '#demo',
  data: {
    firstName: 'Foo',
    lastName: 'Bar'
  },
  computed: {
    fullName: function () {
      return this.firstName + ' ' + this.lastName
    }
  }
})

因为真实环境的编程 往往是充满复杂性的


15. Save time and shorthands

为了节省时间我们可以替换一些常用语:

v-on: =>  @   (ex: v-on:click =>  @click)

v-bind: =>  :      (ex: v-bind:href => :href)


16. 用Vue 连接 css

结果:

这几行code的结果就是更改第一个div的css class

我点击第一个格子 就会变红

这其中最重要的一点就是 :class = "{}"  vue和class联系去更改内容 

[] , 我们使用 array syntax去包括多个 class


17. 直接更改style

:style = {}             (ex: :style = {backgroundColor: green}   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值