<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
<div id="app">{{ message }}</div><script>const app = new Vue({el: '#app',data: {message: 'Hello Vue2!'}});</script><input v-model="userInput" placeholder="输入内容"><p>您输入了:{{ userInput }}</p><p v-if="showMessage">显示的内容</p><p v-else>隐藏的内容</p>
<ul><li v-for="item in items" :key="item.id">{{ item.name }}</li></ul><script>new Vue({data: {items: [{ id: 1, name: 'Item 1' },{ id: 2, name: 'Item 2' }]}});</script>Vue.component('todo-item', {props: ['todo'],template: '<li class="todo-item">{{ todo.text }}</li>'});<todo-item v-for="item in todos" :todo="item" :key="item.id"></todo-item>
// 子组件this.$emit('delete', todo.id);// 父组件<todo-item @delete="handleDelete"></todo-item>new Vue({beforeCreate() { /* 实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用 */ },created() { /* 完成数据观测,属性和方法的运算,watch/event 事件回调,异步请求常用在此阶段 */ },mounted() { /* 挂载到DOM后调用,可操作DOM元素 */ },updated() { /* 数据更新导致的虚拟DOM重新渲染和打补丁之后调用 */ },destroyed() { /* 实例销毁后调用,清理定时器、事件监听等 */ }});computed: {reversedMessage() {return this.message.split('').reverse().join('');}}watch: {message(newVal, oldVal) {// 执行复杂操作}}<div ref="box">内容区域</div><script>mounted() {const box = this.$refs.box;// 执行DOM操作}</script><transition name="fade"><p v-if="show">需要过渡的内容</p></transition><style>.fade-enter-active, .fade-leave-active {transition: opacity .5s;}.fade-enter, .fade-leave-to {opacity: 0;}</style>const store = new Vuex.Store({state: { count: 0 },mutations: { increment(state) { state.count++ } }});new Vue({ store, /* 其他选项 */ });
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70046748/viewspace-3088253/ ,如需转载,请注明出处,否则将追究法律责任。