VUE 实例
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Vue 实例</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app" class="goo">
<p>{{ foo }}</p>
<!-- 这里的 `foo` 不会更新! -->
<button v-on:click="foo = 'baz'">Change it</button>
</div>
</body>
</html>
<script>
// 我们的数据对象
var data = {
a: 1,
b: 2,
foo : 'Bingo',
}
//Object.freeze(data) // [Vue warn]: Error in v-on handler: "TypeError: Cannot assign to read only property 'foo' of object '#<Object>'"
// 该对象被加入到一个 Vue 实例中
var vm = new Vue({
el: '#app',
//el: '#app1,#app',//不允许一次配置多个
fun : () => {
console.log(' i am function fun ')
return '';
},
//监听变量变化
watch: {
'a' : (newValue, oldValue) => {
console.log('new: '+newValue+" -- old: "+oldValue);
/*
vm.a = 3
vue-1.html:39 new: 3 -- old: 1
*/
}
},
/* */
data: data
/* data内的所有变量都会被vm对象自动组装成自身属性,并且会配好get set方法 */
,
created: function () {//在vm对象创建后的第一时间,应该相当于vm的构造方法吧。
console.log('created:::: a is: ' + this.a)
},
updated: function () { //静默的改变data里面的值不会触发此时间,需要模板被重新渲染才会执行 比如点击change it
console.log('updated:::: a is: ' + this.a)
},
mounted: function () { //当vm中配置的el被创建成$el对象后调用
console.log('mounted:::: a is: ' + this.a)
},
destroyed: function () {// 暂时没有模拟出来
console.log('destroyed:::: a is: ')
}
})
/*console.log( vm.$options.fun()); // i am function fun
console.log( typeof vm.$options.fun); //function
console.log(vm.$data );
console.log(vm.$el); */
//监听变量变化
vm.$watch('foo', function (newValue, oldValue) {
// 这个回调将在 `vm.foo` 改变后调用 new: baz -- old: Bingo
console.log('new: '+newValue+" -- old: "+oldValue);
})
/* $开头的对象为vm本身的对象 */
</script>
积累知识,分享知识,学习知识。

浙公网安备 33010602011771号