一丶vue是什么
其实就是一套渐进式框架,与其他框架不同的是,Vue采用自底向上增量开发的设计.Vue的核心库只关注视图层.Vue完全有能力采用单文件组件和Vue生态系统支持的库开发复杂单页应用.
Vue.js的目标是通过尽可能简单的API实现响应的数据绑定和组合的视图组件
二丶Vue安装
0.node.js
1.下载并用 <script> 标签引入,Vue 会被注册为一个全局变量。
2.CDN: <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
注意:把vue.js 换成 vue.min.js。这是一个更小的构建,可以带来比开发环境下更快的速度体验。
3.NPM:$ npm install vue
三丶Hello World
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第一个示例</title>
</head>
<body>
<!--导入vue-->
<script src="vue.js">
</script>
<div id="app">
<!--渲染语法-->
<p>{{ message }}</p>
</div>
<!--js核心-->
<script>
new Vue({
el: "#app",
data:{
message: "Hello Vue.js!"
}
})
</script>
</body>
</html>
页面显示:Hello Vue.js!
四丶声明式渲染
1.插入文本
Vue.js的核心就是用模板语法声明式的将数据渲染进DOM系统
<div id="app">
<!--渲染语法-->
<p>{{ message }}</p>
</div>
<!--js核心-->
<script>
new Vue({
el: "#app",
data:{
message: "Hello Vue.js!"
}
})
</script>
2.绑定属性
除了插入文本,我们还可以绑定元素属性
<div id="app-2">
<span v-bind:title="message">
鼠标悬停几秒钟来看此处绑定的提示信息!
</span>
</div>
<script>
var app2 = new Vue({
el:"#app-2",
data:{
message:"页面加载于" + new Date().toLocaleDateString()
}
})
</script>
v-bind被称为指令,指令带有前缀v-
页面显示

五丶条件与循环
1.条件:控制和切换
<div id="app-3">
<p v-if="seen">现在你看到我了</p>
</div>
<script>
var app3 = new Vue({
el:"#app-3",
data:{
seen:true
}
})
</script>
true结果现在你看到我了
false结果为页面为空
2.循环:渲染列表
<div id="app-4">
<ol>
<li v-for="todo in todos">
{{ todo.text }}
</li>
</ol>
</div>
<script>
var app4 = new Vue({
el: '#app-4',
data: {
todos: [
{ text: '学习 JavaScript' },
{ text: '学习 Vue' },
{ text: '整个牛项目' }
]
}
})
</script>
在页面循环出列表
页面显示

六丶处理用户输入
v-on
<div id="app-5">
<p>{{ message }}</p>
<button v-on:click="reverseMessage">逆转消息</button>
</div>
var app5 = new Vue({
el: '#app-5',
data: {
message: 'Hello Vue.js!'
},
methods: {
reverseMessage: function () {
this.message = this.message.split('').reverse().join('')
}
}
})
v-model
<div id="app-6">
<p>{{ message }}</p>
<input v-model="message">
</div>
var app6 = new Vue({
el: '#app-6',
data: {
message: 'Hello Vue!'
}
})
七丶组件化应用构建
在 Vue 里,一个组件本质上是一个拥有预定义选项的一个 Vue 实例
// 定义名为 todo-item 的新组件
Vue.component('todo-item', {
template: '<li>这是个待办项</li>'
})
现在你可以用它构建另一个组件模板
<ol>
<!-- 创建一个 todo-item 组件的实例 -->
<todo-item></todo-item>
</ol>
浙公网安备 33010602011771号