title: 起步
type: guide
order: 1
我们以 Vue 数据绑定的快速导览开始。如果你对高级概述更感兴趣,可查看这篇博文。
尝试 Vue.js 最简单的方法是使用 JSFiddle Hello World 例子。在浏览器新标签页中打开它,跟着我们查看一些基础示例。如果你喜欢用包管理器下载/安装,查看安装教程。
Hello World
<div id="app">
{{ message }}
</div>
new Vue({
el: "#app",
data: {
message: "Hello Vue.js!"
}
})
{% raw %}
{{ message }}
{% endraw %}
双向绑定
<div id="app">
<p>{{ message }}</p>
<input v-model="message">
</div>
new Vue({
el: "#app",
data: {
message: "Hello Vue.js!"
}
})
{% raw %}
{{ message }}
{% endraw %}
渲染列表
<div id="app">
<ul>
<li v-for="todo in todos">
{{ todo.text }}
</li>
</ul>
</div>
new Vue({
el: "#app",
data: {
todos: [
{ text: "Learn JavaScript" },
{ text: "Learn Vue.js" },
{ text: "Build Something Awesome" }
]
}
})
{% raw %}
<li v-for="todo in todos">
{{ todo.text }}
</li>
{% endraw %}
处理用户输入
<div id="app">
<p>{{ message }}</p>
<button v-on:click="reverseMessage">Reverse Message</button>
</div>
new Vue({
el: "#app",
data: {
message: "Hello Vue.js!"
},
methods: {
reverseMessage: function () {
this.message = this.message.split("").reverse().join("")
}
}
})
{% raw %}
{{ message }}
Reverse Message
{% endraw %}
综合
<div id="app">
<input v-model="newTodo" v-on:keyup.enter="addTodo">
<ul>
<li v-for="todo in todos">
<span>{{ todo.text }}</span>
<button v-on:click="removeTodo($index)">X</button>
</li>
</ul>
</div>
new Vue({
el: "#app",
data: {
newTodo: "",
todos: [
{ text: "Add some todos" }
]
},
methods: {
addTodo: function () {
var text = this.newTodo.trim()
if (text) {
this.todos.push({ text: text })
this.newTodo = ""
}
},
removeTodo: function (index) {
this.todos.splice(index, 1)
}
}
})
{% raw %}
<li v-for="todo in todos">
<span>{{ todo.text }}</span>
<button v-on:click="removeTodo($index)">X</button>
</li>
{% endraw %}
希望上例能让你对 Vue.js 的工作原理有一个基础概念。我知道你现在有许多疑问——继续阅读,在后面的教程将一一解答。