## vue
vue是mvvm模型,自底向上逐層應用,用於構建用戶界面的漸進式框架。
### 掛載點、模板、實例
掛載點,vue僅處理掛點下面的內容(dom節點)。掛載點內部的為模板。
<div id="app"> <p>{{ mag }}</p> </div> <script> new Vue({ el: "#app", data() { mag: 'hello, '; }, }); Vue.component('todo-item', { template: '<li>這是個待辦項</li>' }) </script>
模板
1. 直接放在掛在點內部
2. 實例內的template屬性
<div id="app"> </div> <script> new Vue({ el: "#app", template: "<p>哈韓</p>" data() {}, }); </script>
實例,new Vue創建
<div id="app"> <p>{{ mag }}</p> </div> <script> var app = new Vue({ el: "#app", components: { todo-item, }, data() { mag: 'hello, '; }, }); app.component('todo-item', { template: '<li>這是個待辦項</li>' }) </script>
## vue組件,實例,vue-cli
每一個組件也是一個實例,掛在點下最大的實例,有一層層組件構成。
開發大型項目,借助webpack打包單文件組件(.vue)。腳手架vue-cli搭建項目。
## 單文件組件
<template> <div> <li class="todo-item" @dblclick="handleDelete(index)" >{{ text }}</li> </div> </template> <script> export default { name: 'todo-item', props: ['text', 'index'], methods: { handleDelete(index) { this.$emit('delete', index); }, }, }; </script> <style scoped> .todo-item{ } </style>