引言Vue.js作为一款流行的前端JavaScript框架,因其易学易用、高效灵活等特点,受到了广大开发者的喜爱。本文将为您揭秘50个热门的Vue.js案例,帮助您快速上手项目开发。案例一:Vue.j...
Vue.js作为一款流行的前端JavaScript框架,因其易学易用、高效灵活等特点,受到了广大开发者的喜爱。本文将为您揭秘50个热门的Vue.js案例,帮助您快速上手项目开发。
<template> <div> <input v-model="newTodo" placeholder="添加待办事项"> <ul> <li v-for="(todo, index) in todos" :key="index"> {{ todo }} <button @click="removeTodo(index)">删除</button> </li> </ul> </div>
</template>
<script>
export default { data() { return { newTodo: '', todos: [] }; }, methods: { addTodo() { this.todos.push(this.newTodo); this.newTodo = ''; }, removeTodo(index) { this.todos.splice(index, 1); } }
};
</script><!-- 父组件 -->
<template> <div> <child-component :value="number" @input="number = $event"></child-component> <p>计算结果:{{ result }}</p> </div>
</template>
<script>
import ChildComponent from './ChildComponent.vue';
export default { components: { ChildComponent }, data() { return { number: 0, result: 0 }; }
};
</script><!-- 子组件 -->
<template> <div> <input v-model="value" @input="$emit('input', value)"> </div>
</template>
<script>
export default { props: ['value']
};
</script>import Vue from 'vue';
import Router from 'vue-router';
import Home from './views/Home.vue';
import About from './views/About.vue';
Vue.use(Router);
export default new Router({ routes: [ { path: '/', name: 'home', component: Home }, { path: '/about', name: 'about', component: About } ]
});import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
export default new Vuex.Store({ state: { count: 0 }, mutations: { increment(state) { state.count++; } }, actions: { increment({ commit }) { commit('increment'); } }, getters: { count: state => state.count }
});<template> <el-form :model="loginForm" @submit.native.prevent="handleLogin"> <el-form-item label="用户名"> <el-input v-model="loginForm.username"></el-input> </el-form-item> <el-form-item label="密码"> <el-input type="password" v-model="loginForm.password"></el-input> </el-form-item> <el-form-item> <el-button type="primary" native-type="submit">登录</el-button> </el-form-item> </el-form>
</template>
<script>
export default { data() { return { loginForm: { username: '', password: '' } }; }, methods: { handleLogin() { // 登录逻辑 } }
};
</script>import axios from 'axios';
export default { data() { return { userInfo: {} }; }, created() { this.fetchUserInfo(); }, methods: { fetchUserInfo() { axios.get('/api/userinfo') .then(response => { this.userInfo = response.data; }) .catch(error => { console.error(error); }); } }
};import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
export default new Vuex.Store({ state: { cart: [] }, mutations: { addToCart(state, product) { state.cart.push(product); } }, actions: { addToCart({ commit }, product) { commit('addToCart', product); } }, getters: { cartCount: state => state.cart.length }
});<template> <el-table :data="userList" style="width: 100%"> <el-table-column prop="username" label="用户名"></el-table-column> <el-table-column prop="email" label="邮箱"></el-table-column> <el-table-column prop="phone" label="电话"></el-table-column> </el-table>
</template>
<script>
export default { data() { return { userList: [] }; }, created() { this.fetchUserList(); }, methods: { fetchUserList() { // 获取用户列表数据 } }
};
</script>import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
export default new Vuex.Store({ state: { cart: [] }, mutations: { addToCart(state, product) { state.cart.push(product); } }, actions: { addToCart({ commit }, product) { commit('addToCart', product); } }, getters: { cartCount: state => state.cart.length }
});<template> <el-table :data="userList" style="width: 100%"> <el-table-column prop="username" label="用户名"></el-table-column> <el-table-column prop="email" label="邮箱"></el-table-column> <el-table-column prop="phone" label="电话"></el-table-column> </el-table>
</template>
<script>
export default { data() { return { userList: [] }; }, created() { this.fetchUserList(); }, methods: { fetchUserList() { // 获取用户列表数据 } }
};
</script>import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
export default new Vuex.Store({ state: { cart: [] }, mutations: { addToCart(state, product) { state.cart.push(product); } }, actions: { addToCart({ commit }, product) { commit('addToCart', product); } }, getters: { cartCount: state => state.cart.length }
});<template> <el-table :data="userList" style="width: 100%"> <el-table-column prop="username" label="用户名"></el-table-column> <el-table-column prop="email" label="邮箱"></el-table-column> <el-table-column prop="phone" label="电话"></el-table-column> </el-table>
</template>
<script>
export default { data() { return { userList: [] }; }, created() { this.fetchUserList(); }, methods: { fetchUserList() { // 获取用户列表数据 } }
};
</script>import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
export default new Vuex.Store({ state: { cart: [] }, mutations: { addToCart(state, product) { state.cart.push(product); } }, actions: { addToCart({ commit }, product) { commit('addToCart', product); } }, getters: { cartCount: state => state.cart.length }
});<template> <el-table :data="userList" style="width: 100%"> <el-table-column prop="username" label="用户名"></el-table-column> <el-table-column prop="email" label="邮箱"></el-table-column> <el-table-column prop="phone" label="电话"></el-table-column> </el-table>
</template>
<script>
export default { data() { return { userList: [] }; }, created() { this.fetchUserList(); }, methods: { fetchUserList() { // 获取用户列表数据 } }
};
</script>import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
export default new Vuex.Store({ state: { cart: [] }, mutations: { addToCart(state, product) { state.cart.push(product); } }, actions: { addToCart({ commit }, product) { commit('addToCart', product); } }, getters: { cartCount: state => state.cart.length }
});<template> <el-table :data="userList" style="width: 100%"> <el-table-column prop="username" label="用户名"></el-table-column> <el-table-column prop="email" label="邮箱"></el-table-column> <el-table-column prop="phone" label="电话"></el-table-column> </el-table>
</template>
<script>
export default { data() { return { userList: [] }; }, created() { this.fetchUserList(); }, methods: { fetchUserList() { // 获取用户列表数据 } }
};
</script>import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
export default new Vuex.Store({ state: { cart: [] }, mutations: { addToCart(state, product) { state.cart.push(product); } }, actions: { addToCart({ commit }, product) { commit('addToCart', product); } }, getters: { cartCount: state => state.cart.length }
});<template> <el-table :data="userList" style="width: 100%"> <el-table-column prop="username" label="用户名"></el-table-column> <el-table-column prop="email" label="邮箱"></el-table-column> <el-table-column prop="phone" label="电话"></el-table-column> </el-table>
</template>
<script>
export default { data() { return { userList: [] }; }, created() { this.fetchUserList(); }, methods: { fetchUserList() { // 获取用户列表数据 } }
};
</script>”`javascript import Vue from ‘vue’; import Vuex from ‘vuex’;
Vue.use(Vuex);
export