1. Vue.js 简介Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面和单页应用程序。它易于上手,功能强大,支持组件化开发,具有响应式和双向数据绑定等特点。Vue.js 可以...
Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面和单页应用程序。它易于上手,功能强大,支持组件化开发,具有响应式和双向数据绑定等特点。Vue.js 可以独立使用,也可以与其它库或框架结合使用。
Vue.js 需要 Node.js 环境,可以从 Node.js 官网 下载并安装。
Vue CLI 是一个命令行工具,用于快速搭建 Vue.js 项目。可以通过以下命令安装:
npm install -g @vue/cli使用 Vue CLI 创建一个新项目:
vue create my-vue-projectVue.js 使用 v-bind 指令实现数据绑定,可以将数据绑定到 HTML 元素上。
<div id="app"> <p>{{ message }}</p>
</div>
<script> const app = new Vue({ el: '#app', data: { message: 'Hello Vue!' } });
</script>Vue.js 使用 v-on 指令实现事件处理,可以将事件绑定到 HTML 元素上。
<div id="app"> <button v-on:click="changeMessage">改变消息</button> <p>{{ message }}</p>
</div>
<script> const app = new Vue({ el: '#app', data: { message: 'Hello Vue!' }, methods: { changeMessage() { this.message = '消息已改变'; } } });
</script>Vue.js 使用 v-if 和 v-else 指令实现条件渲染。
<div id="app"> <p v-if="seen">现在你看到了我</p>
</div>
<script> const app = new Vue({ el: '#app', data: { seen: true } });
</script>Vue.js 使用 v-for 指令实现列表渲染。
<div id="app"> <ul> <li v-for="item in items">{{ item.name }}</li> </ul>
</div>
<script> const app = new Vue({ el: '#app', data: { items: [ { name: '苹果' }, { name: '香蕉' }, { name: '橘子' } ] } });
</script>Vue.js 支持组件化开发,可以将一个复杂的界面拆分成多个组件。
<template> <div> <h1>{{ title }}</h1> <p>{{ content }}</p> </div>
</template>
<script>
export default { data() { return { title: '组件标题', content: '组件内容' }; }
};
</script>Vue Router 是 Vue.js 官方路由管理器,用于实现页面导航。
import Vue from 'vue';
import Router from 'vue-router';
Vue.use(Router);
const router = new Router({ routes: [ { path: '/', component: Home }, { path: '/about', component: About } ]
});
export default router;Vuex 是 Vue.js 官方状态管理库,用于管理应用程序的状态。
import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
const store = new Vuex.Store({ state: { count: 0 }, mutations: { increment(state) { state.count++; } }
});
export default store;实现一个简单的购物车功能,包括添加商品、删除商品、更新商品数量等。
<template> <div> <ul> <li v-for="item in items" :key="item.id"> <span>{{ item.name }}</span> <span>{{ item.price }}</span> <button @click="addItem(item)">添加</button> </li> </ul> <h2>总计:{{ total }}</h2> </div>
</template>
<script>
export default { data() { return { items: [ { id: 1, name: '苹果', price: 10 }, { id: 2, name: '香蕉', price: 5 }, { id: 3, name: '橘子', price: 8 } ], cart: [] }; }, computed: { total() { return this.cart.reduce((total, item) => total + item.price, 0); } }, methods: { addItem(item) { this.cart.push(item); } }
};
</script>实现一个待办事项功能,包括添加待办事项、删除待办事项、标记待办事项完成等。
<template> <div> <input v-model="newTodo" @keyup.enter="addTodo" placeholder="添加待办事项" /> <ul> <li v-for="(todo, index) in todos" :key="todo.id"> <span>{{ todo.text }}</span> <button @click="toggleComplete(todo)">完成</button> <button @click="removeTodo(index)">删除</button> </li> </ul> </div>
</template>
<script>
export default { data() { return { newTodo: '', todos: [] }; }, methods: { addTodo() { if (this.newTodo.trim() !== '') { this.todos.push({ id: this.todos.length, text: this.newTodo.trim(), complete: false }); this.newTodo = ''; } }, toggleComplete(todo) { todo.complete = !todo.complete; }, removeTodo(index) { this.todos.splice(index, 1); } }
};
</script>Vue.js 是一个功能强大、易于上手的 JavaScript 框架,适合构建各种类型的应用程序。通过本文的学习,相信你已经对 Vue.js 有了一定的了解。在实际开发过程中,不断实践和总结,才能达到精通的境界。