【Vue】解剖你的第一个Vue实例

news/2024/7/9 23:46:24 标签: vue, js, javascript

Vue实例

new出一个Vue实例是一切的开端:

javascript">var app = new Vue({
	// el
	// data
	// methods
	// hook methods ...
});
<div id="app">
    <h2>{{name}}的年龄是{{age}}</h2>
</div>
<script type="text/javascript">javascript">
	var app = new Vue({
		el: "#app",
		data: {
			name: "Alice",
			age: 12
		},
		methods: {
			inc() {
				this.age++;
			},
			dec() {
	            this.age--;
	        }
		}
	});
</script>

 

元素(el)

el即element的缩写,用于选出页面中的一个元素。

在选出的这个元素外部,Vue的所有特性是无法使用的。换句话说,这个Vue实例的作用域即这个元素内部。

 

数据(data)

数据是一个对象,这很容易看出来。

Vue实例中数据是与视图渲染的内容双向绑定的。即这里的数据改变,视图重新渲染;视图内容被改变,这里的数据同步更新。

 

方法(methods)

这其实是一个方法集合,可声明多个方法。

无论是数据,还是方法,作用域都是 el 所选出的元素内部。

 

生命周期函数(created)

每个Vue实例都是有生命周期的。生命周期函数是一种监听函数(钩子函数),不同的生命周期函数在Vue的实例的不同生命周期阶段被触发。

其实最常用的生命周期函数只有一个:created。

它对应的生命周期是Vue实例的创建,因此常常被用于数据的初始化。

<div id="app">
    <h2>{{msg}}</h2>
</div>
<script type="text/javascript">javascript">
	var app = new Vue({
		el: "#app",
		data: {
			msg: ""
		},
		// 生命周期函数,常用于数据的初始化
		created() {
			// this即Vue实例(箭头函数的this不指向Vue实例,因此不可使用)
			this.msg = "Hello!Im created";
			console.log(this);
		}
	});
</script>

 

计算函数(computed)

简单的说,就是把Vue的数据在Vue中进行处理后再渲染到页面上。

下面这个例子非常典型,把毫秒值的生日数据,先转换为了yyyy-MM-dd格式然后再渲染到页面。

<div id="app">
    <h2>你的生日是{{birth}}</h2>
</div>
<script type="text/javascript">javascript">
    var app = new Vue({
        el: "#app",
        data: {
            birthday: 2439062123201
        },
        computed: {
            birth() {
                const date = new Date(this.birthday);
                return date.getFullYear() + "-" + (date.getMonth()+1) + "-" + date.getDay();
            }
        }
    });
</script>

 

监控函数(watch)

能够监控简单属性的变化,也能监控对象属性的变化(要开启深度监控)。

watch的应用场景是,根据所监控的视图中的数据的变化,做出相应的响应。

<script type="text/javascript">javascript">
    var app = new Vue({
        el: "#app",
        data: {
            // 简单属性
            msg: "Loli Suki~",
            // 对象属性
            loli: {
                name: "Alice",
                age: 12
            }
        },
        watch: {
            // 监控简单属性(方法名与属性名同名即可)
            msg(newValue, oldValue) {
                console.log("新值" + newValue);
                console.log("旧值" + oldValue);
            },
            // 监控对象属性(需要开启深度监控,写法也有点奇怪)
            loli: {
                deep: true,
                handler(obj) {
                    console.log(obj.name);
                    console.log(obg.age);
                }
            }
        }
    });
</script>

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

❤️


http://www.niftyadmin.cn/n/1330001.html

相关文章

String类,static关键词,Arrays类、Math类

String类 比较字符串内容是否相同 s1.equals&#xff08;s2&#xff09;&#xff1b; 忽略大小写 s1.equalsIgnoreCase(s2); 获取长度 s.length(); 将指定字符串连接到该字符串的末尾 String s2s.concat("sajhkdas"); 获取指定索引的字符 s.charAt(); 获取…

继承、super、this、抽象类

通过 extends 关键字&#xff0c;可以声明一个子类继承另外一个父类&#xff0c;定义格式如下&#xff1a;class 父类 { ... }class 子类 extends 父类 { ... }子父类中出现了同名的成员变量时&#xff0c;在子类中需要访问父类中非私有成员变量时&#xff0c;需要使用 super 关…

接口的具体使用

接口&#xff0c;是Java语言中一种引用类型&#xff0c;是方法的集合&#xff0c;如果说类的内部封装了成员变量、构造方法和成员方法&#xff0c;那么接口的内部主要就是封装了方法&#xff0c;包含抽象方法&#xff08;JDK 7及以前&#xff09;&#xff0c;默认方法和静态方法…

【Vue】v-xxx指令全面总结

文章目录v-text & v-htmlv-modelv-onv-forv-if & v-showv-bindv-text & v-html 在讲这两个指令之前&#xff0c;先说说我们很熟悉的 插值&#xff0c;再来说说用这两条指令替代插值的好处。 语法: {{插值表达式}}说明&#xff1a; &#xff08;1&#xff09;这…

多态的具体使用

多态体现的格式&#xff1a; 父类类型&#xff1a;指子类对象继承的父类类型&#xff0c;或者实现的父接口类型。 代码如下&#xff1a; Fu f new Zi(); f.method(); 当使用多态方式调用方法时&#xff0c;首先检查父类中是否有该方法&#xff0c;如果没有&#xff0c;则编译错…

【Vue】如何定义并注册一个组件?如何进行父子组件之间的通信?

理解组件化 在大型应用开发的时候&#xff0c;往往要有大量的页面。 这些页面&#xff0c;又往往会有相同的部分&#xff0c;比如会有相同的头部导航、相同的底部页尾。 这些相同的部分&#xff0c;我们就可以把它封装为一个独立的组件&#xff0c;然后在不同的页面中使用它…

final、权限、内部类、引用类型

final&#xff1a; 不可改变。可以用于修饰类、方法和变量。 类&#xff1a;被修饰的类&#xff0c;不能被继承。 方法&#xff1a;被修饰的方法&#xff0c;不能被重写。 变量&#xff1a;被修饰的变量&#xff0c;不能被重新赋值 在Java中提供了四种访问权限&#xff0c;使用…

object类.常用API(一)

1.Object类 Object类是Java语言中的根类&#xff0c;即所有类的父类。它中描述的所有方法子类都可以使用。在对象实例化的时候&#xff0c;最终找的父类就是Object。1.1toString 方法 toString方法返回该对象的字符串表示&#xff0c;其实该字符串内容就是对象的类型内存地址…