VUE学习历程之第二天

一.数据和方法

贴个代码:



  
  


  

{{ a }}

其中data.a===jason.a 是true.

除了数据属性,Vue 实例还暴露了一些有用的实例属性与方法。它们都有前缀 $,以便与用户定义的属性区分开来。例如:

js代码:
var data = { a: 1 }
var vm = new Vue({
  el: '#example',
  data: data
})
vm.$data === data // => true
vm.$el === document.getElementById('example') // => true
// $watch 是一个实例方法
vm.$watch('a', function (newValue, oldValue) {
  // 这个回调将在 `vm.a` 改变后调用
}

二.实例生命周期钩子

每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听、编译模板、将实例挂载到DOM 并在数据变化时更新 DOM 等。同时在这个过程中也会运行一些叫做生命周期钩子的函数,这给了用户在不同阶段添加自己的代码的机会。

created:一个实例被创建之前执行。

   var jason =new Vue({ 
	el: '#app',
	data: {
	message:"我是没点击之前"
	    },
	created:function(){
	    console.log('message is: ' + this.message);
	    }
	});

*也有一些其它的钩子,在实例生命周期的不同阶段被调用,如 mounted、updated 和 destroyed。生命周期钩子的 

this 上下文指向调用它的 Vue 实例。

不要在选项属性或回调上使用箭头函数,比如 created: () => console.log(this.a) 或 vm.$watch('a', 

newValue => this.myMethod())。因为箭头函数是和父级上下文绑定在一起的,this 不会是如你所预期的 Vue 实

例,经常导致 Uncaught TypeError: Cannot read property of undefined 或 Uncaught TypeError: 

this.myMethod is not a function 之类的错误。

生命周期图示

VUE学习历程之第二天_第1张图片

注意:vue自己的属性和方法之前是在别的地方调用的时候是需要在前面加"$",在探索生命周期的时候打印时需要注意。

下面将对第一天的一些知识点进行详细的剖析。

1.插值

#文本

数据绑定最常见的形式就是使用Mustache语法(双大括号)的文本插值:

Message: {{ msg }}

Mustache 标签将会被替代为对应数据对象上 msg 属性的值。无论何时,绑定的数据对象上 msg 属性发生了改变,插值处的内容都会更新。

通过使用 v-once 指令,你也能执行一次性地插值,当数据改变时,插值处的内容不会更新。但请留心这会影响到该节点上的其它数据绑定:

这个将不会改变: {{ msg }}

#原始HTML

双大括号会将数据解释为普通文本,而非 HTML 代码。为了输出真正的 HTML,你需要使用 v-html 指令:

{{ rawHtml }}

输出结果:
This should be red.
This should be red.This should be red.

这个 span 的内容将会被替换成为属性值 rawHtml,直接作为 HTML——会忽略解析属性值中的数据绑定。注意,你不能使用 v-html 来复合局部模板,因为 Vue 不是基于字符串的模板引擎。反之,对于用户界面 (UI),组件更适合作为可重用和可组合的基本单位。

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

#特性

贴上代码直接在浏览器上测试:

如果 isButtonDisabled 的值是 null、undefined 或 false,则 disabled 特性甚至不会被包含在渲染出来的

你可能感兴趣的:(web开发)