vue复习
发布人:shili8
发布时间:2025-01-06 09:13
阅读次数:0
**Vue.js复习**
###1. Vue.js概述Vue.js是一款用于构建用户界面的前端框架,旨在简化HTML、CSS和JavaScript的使用。它提供了一个强大的生态系统,包括大量的库和工具,可以帮助开发者快速构建复杂的应用。
###2. Vue.js特点* **易学**:Vue.js有着非常友好的API设计,使得新手可以轻松上手。
* **灵活**:Vue.js支持多种模板语法,包括HTML、CSS和JavaScript。
* **高性能**:Vue.js使用了虚拟DOM(Virtual DOM)来优化渲染性能。
* **强大生态系统**:Vue.js有着庞大的社区和第三方库支持。
###3. Vue.js基本概念####1. Vue实例每个Vue应用都需要一个根实例,负责管理整个应用的状态和行为。
javascript// 创建一个新的Vue实例const app = new Vue({ el: '#app', data: { message: 'Hello, World!' } })
####2. 模板语法Vue.js支持多种模板语法,包括HTML、CSS和JavaScript。
html<!-- HTML模板 --> <div>{{message}}</div> <!-- CSS模板 --> <style scoped> .hello { color: red; } </style> <!-- JavaScript模板 --> <script> export default { data() { return { message: 'Hello, World!' } }, methods: { sayHello() { console.log('Hello!') } } } </script>
####3. 组件Vue.js的组件是构建复杂应用的基本单位。每个组件都有自己的模板、数据和方法。
javascript// 创建一个新的Vue组件const MyComponent = { template: '<div>Hello, {{name}}!</div>', data() { return { name: 'John' } }, methods: { sayHello() { console.log('Hello!') } } }
###4. Vue.js生命周期Vue.js的生命周期是指组件从创建到销毁的整个过程。每个阶段都有特定的方法可以被调用。
####1. beforeCreate()
在组件创建之前,会触发这个方法。
javascriptexport default { data() { return { name: 'John' } }, beforeCreate() { console.log('beforeCreate') } }
####2. created()
在组件创建之后,会触发这个方法。
javascriptexport default { data() { return { name: 'John' } }, created() { console.log('created') } }
####3. beforeMount()
在组件挂载之前,会触发这个方法。
javascriptexport default { template: '<div>Hello, {{name}}!</div>', data() { return { name: 'John' } }, beforeMount() { console.log('beforeMount') } }
####4. mounted()
在组件挂载之后,会触发这个方法。
javascriptexport default { template: '<div>Hello, {{name}}!</div>', data() { return { name: 'John' } }, mounted() { console.log('mounted') } }
####5. beforeUpdate()
在组件更新之前,会触发这个方法。
javascriptexport default { template: '<div>Hello, {{name}}!</div>', data() { return { name: 'John' } }, methods: { updateName() { this.name = 'Jane' } }, beforeUpdate() { console.log('beforeUpdate') } }
####6. updated()
在组件更新之后,会触发这个方法。
javascriptexport default { template: '<div>Hello, {{name}}!</div>', data() { return { name: 'John' } }, methods: { updateName() { this.name = 'Jane' } }, updated() { console.log('updated') } }
####7. beforeDestroy()
在组件销毁之前,会触发这个方法。
javascriptexport default { template: '<div>Hello, {{name}}!</div>', data() { return { name: 'John' } }, methods: { destroy() { this.$destroy() } }, beforeDestroy() { console.log('beforeDestroy') } }
####8. destroyed()
在组件销毁之后,会触发这个方法。
javascriptexport default { template: '<div>Hello, {{name}}!</div>', data() { return { name: 'John' } }, methods: { destroy() { this.$destroy() } }, destroyed() { console.log('destroyed') } }
###5. Vue.js事件Vue.js支持多种事件类型,包括点击、鼠标移动、键盘输入等。
javascriptexport default { template: '<div>Hello, {{name}}!</div>', data() { return { name: 'John' } }, methods: { handleClick(event) { console.log('handleClick', event) }, handleMouseMove(event) { console.log('handleMouseMove', event) }, handleKeyDown(event) { console.log('handleKeyDown', event) } } }
###6. Vue.js过滤器Vue.js支持多种过滤器类型,包括时间、金额等。
javascriptexport default { template: '<div>Hello, {{name}}!</div>', data() { return { name: 'John' } }, filters: { formatTime(time) { return new Date(time).toLocaleString() }, formatMoney(money) { return money.toFixed(2) } } }
###7. Vue.js计算属性Vue.js支持多种计算属性类型,包括简单的计算、复杂的逻辑等。
javascriptexport default { template: '<div>Hello, {{name}}!</div>', data() { return { name: 'John' } }, computed: { fullName() { return this.name + ' Doe' }, isAdult() { return new Date().getFullYear() - this.age >18 } } }
###8. Vue.jswatchVue.js支持多种watch类型,包括简单的监听、复杂的逻辑等。
javascriptexport default { template: '<div>Hello, {{name}}!</div>', data() { return { name: 'John' } }, watch: { name(newValue) { console.log('watch', newValue) }, age(newValue) { if (newValue >18) { console.log('watch', newValue) } } } }
###9. Vue.js异步Vue.js支持多种异步类型,包括简单的Promise、复杂的async/await等。
javascriptexport default { template: '<div>Hello, {{name}}!</div>', data() { return { name: 'John' } }, methods: { async fetchData() { const response = await fetch('/api/data') const data = await response.json() console.log('fetchData', data) } } }
###10. Vue.js插件Vue.js支持多种插件类型,包括简单的功能、复杂的逻辑等。
javascriptexport default { install(Vue) { Vue.prototype.$myPlugin = function() { console.log('install', this) } } }
###11. Vue.js混合Vue.js支持多种混合类型,包括简单的功能、复杂的逻辑等。
javascriptexport default { methods: { myMethod() { console.log('myMethod') } }, mixin: { myMixin() { this.myMethod() } } }
###12. Vue.js全局过滤器Vue.js支持多种全局过滤器类型,包括简单的功能、复杂的逻辑等。
javascriptexport default { filters: { formatTime(time) { return new Date(time).toLocaleString() } }, install(Vue) { Vue.filter('formatTime', this.formatTime) } }
###13. Vue.js全局指令Vue.js支持多种全局指令类型,包括简单的功能、复杂的逻辑等。
javascriptexport default { directives: { myDirective() { console.log('myDirective') } }, install(Vue) { Vue.directive