Vuejs入门教程
Vue生命周期
Vue生命周期是指在Vue实例创建、挂载、更新、销毁等过程中,Vue自动调用的一些方法。Vue生命周期分为以下三个阶段:
- 创建阶段(Initialization)
在这个阶段,Vue实例被创建并进行了一些初始化工作,如:属性的设置、数据的响应式处理、以及事件监听器的初始化等。这个阶段具体有以下生命周期钩子函数:
- beforeCreate:在实例初始化之后,数据观测和事件配置之前被调用。此时,我们无法访问数据和方法。
-
created:在实例创建完成后被立即调用。在这一步,我们已经能够访问到数据和方法。
-
更新阶段(Update)
在这个阶段,Vue实例进行视图渲染并响应用户输入等操作。Vue会根据数据变更自动更新页面,绑定事件等。这个阶段具体有以下生命周期钩子函数:
- beforeMount:在挂载开始之前调用。在这个时候,模板已经被编译成虚拟 DOM,并准备好在页面上渲染。
-
mounted:实例挂载后调用这个钩子函数。在这个时候,实例中的数据、组件都已经被初始化渲染出来。
-
销毁阶段(Destroy)
在这个阶段,Vue实例被销毁,以及清除与其相关的事件监听器和定时器。这个阶段具体有以下生命周期钩子函数:
- beforeDestroy:在实例销毁之前调用。在这个阶段可以进行实例中数据的清理工作。
- destroyed:在实例销毁之后调用。在这个时候,实例中的所有事件监听器和定时器都已经被清除。
数据
Vue数据驱动,实际上就是将状态的改变,转化为对界面的改变。Vue中很多实例属性和方法都是与数据密切相关的,例如:data
、computed
、watch
、methods
等。数据的响应式能力是Vue的核心特性之一,实现的原理是Object.defineProperty()
方法提供的数据劫持功能。
下面提供一个简单的例子,演示数据驱动的方式。在Vue实例中定义一个data
数据属性,绑定在页面上,当数据发生变化时,页面会实时更新。
<body>
<div id="app">
{{ message }}
</div>
</body>
<script>
var vm = new Vue({
el: '#app',
data: {
message: 'Hello World!'
}
});
</script>
当执行vm.message = 'Hello Vue!'
时,页面会立即更新为"Hello Vue!"。
手动挂载
Vue实例默认是通过el选项挂载在页面上的,但是有些时候我们需要手动挂载Vue实例。Vue提供了vm.$mount()
方法来实现手动挂载。下面是一个简单的例子:
<body>
<div id="app"></div>
</body>
<script>
var vm = new Vue({
template: '<div>Hello Vue!</div>'
});
vm.$mount('#app');
</script>
指令
Vue中的指令是一种特殊的自定义特性,它们以“v-”为前缀,指示Vue实例进行某些特殊的响应式操作。Vue内部自带了多种指令,包括v-if
、v-show
、v-bind
、v-on
等。下面是一个简单的例子,演示v-if
和v-show
的不同之处:
<body>
<div id="app">
<h2 v-if="showText">显示文本</h2>
<h3 v-show="showText">这是显示文本</h3>
</div>
</body>
<script>
var vm = new Vue({
el: '#app',
data: {
showText: true
}
});
setInterval(function(){
vm.showText = !vm.showText;
}, 1000);
</script>
在例子中,当showText
为true时,v-if
指令会将<h2>
元素插入到DOM中,否则将其移除。而v-show
则会将<h3>
元素的display
属性设置为none
。但无论哪种方法,都能实现元素的显示和隐藏。
过滤器
Vue允许我们创建过滤器(Filter),将文本格式化为我们需要的样式,对多个字段进行排序,截取文本等复杂操作都能用过滤器来实现。下面是一个简单的例子,演示使用过滤器将文本全部转化为大写:
<body>
<div id="app">
{{ message | upper }}
</div>
</body>
<script>
var vm = new Vue({
el: '#app',
data: {
message: 'hello vue!'
},
filters: {
upper: function(value) {
return value.toUpperCase();
}
}
});
</script>
在例子中,我们定义了一个名为upper
的过滤器,其功能是将字符串转化为大写。在页面中,使用{{ message | upper }}
的方式来调用。在实际应用中,Vue的过滤器功能可谓是非常强大的,可以帮助我们简化很多复杂的文本处理操作。
到这里,本次Vuejs入门教程就结束了,希望能对初学者们有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Vuejs入门教程之Vue生命周期,数据,手动挂载,指令,过滤器 - Python技术站