# 起步
# Vue 应用实例
- 引入 Vue
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
- 声明式渲染
Vue 的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进 DOM 的系统——虚拟DOM
<div id="app">{{ message }}</div>
var app = new Vue({
el: "#app",
data: {
message: "Hello Vue!"
}
});
# Vue 组件化应用构建
组件系统是 Vue 的另一个重要概念,因为它是一种抽象
,允许我们使用,小型、独立和通常克服用的组件构建大型应用。仔细想想,几乎任意类型的应用界面都可以抽象为一个组件树
- 注册组件
// 定义名为 todo-item 的新组件
Vue.component('todo-item', {
template: '<li>这是个待办项</li>'
})
var app = new Vue(...)
- 调用组件
<ol>
<todo-item></todo-item>
</ol>
- 参数传递
Vue.component("todo-item", {
props: ["todo"],
template: "<li>{{ todo.text }}</li>"
});
- 进一步
<div id="app">
<ol>
<todo-item v-for="item in groceryList" v-bind:todo="item" v-bind:key="item.id"></todo-item>
</ol>
</div>
Vue.component("todo-item", {
props: ["todo"],
template: "<li>{{ todo.text }}</li>"
});
var app = new Vue({
el: "#app",
data: {
groceryList: [
{ id: 0, text: "蔬菜" },
{ id: 1, text: "奶酪" },
{ id: 2, text: "随便其它什么人吃的东西" }
]
}
});
将应用分割成了两个更小的单元。子单元通过 prop 接口与父单元进行了良好的解耦