- Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架。
- Vue 只关注视图层, 采用自底向上增量开发的设计。
- Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。
Vue的安装
Vue官网下载
我们可以在 Vue.js 的官网上直接下载 vue.min.js 并用 <script>
标签引入。
1. Vue构造器需要的内容
<div id="app">
<h1>site : {{site}}</h1>
<h1>url : {{url}}</h1>
<h1>{{details()}}</h1>
</div>
<script type="text/javascript">
new Vue({
el: '#app',
data: {
site: "StarTower",
url: "www.cyloveszs.top",
alexa: "666"
},
methods: {
details: function() {
return this.site + " - 继续恰柠檬!";
}
}
})
</script>
Vue 构造器中有一个el 参数,它是 DOM 元素中的 id,改动全部在以上指定id的 div 内,div 外部不受影响
2. 常见语法
数据绑定最常见的形式就是使用 {{…}}(双大括号)的文本插值:
<div id="app">
<p>{{ message }}</p>
</div>
new Vue({
el: '#app',
data: {
message: 'Hello Vue.js!'
}
})
使用 v-html 指令用于输出 html 代码:
<div id="app">
<div v-html="message"></div>
</div>
<script>
new Vue({
el: '#app',
data: {
message: '<h1>StarTower</h1>'
}
})
</script>
HTML 属性中的值应使用 v-bind 指令。
实例:判断 class1 的值,如果为 true 使用 class1 类的样式,否则不使用该类的样式:
<div id="app">
<label for="r1">修改颜色</label><input type="checkbox" v-model="use" id="r1">
<br><br>
<div v-bind:class="{'class1': use}">
v-bind:class 指令
</div>
</div>
<script>
new Vue({
el: '#app',
data:{
use: false
}
});
</script>
指令是带有 v- 前缀的特殊属性。
<div id="app">
<p v-if="seen">现在你看到我了</p>
</div>
<script>
new Vue({
el: '#app',
data: {
seen: true
}
})
</script>
v-if 指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。
参数在指令后以冒号指明。例如, v-bind 指令被用来响应地更新 HTML 属性:
div id="app">
<pre><a v-bind:href="url">StarTower</a></pre>
</div>
<script>
new Vue({
el: '#app',
data: {
url: 'http://www.cyloveszs.top'
}
})
</script>
这里的href 是参数,告知 v-bind 指令将该元素的 href 属性与表达式 url 的值绑定。
v-on 指令,它用于监听 DOM 事件:
<a v-on:click="doSomething">
在 input 输入框中我们可以使用 v-model 指令来实现双向数据绑定:
<div id="app">
<p>{{ message }}</p>
<input v-model="message">
</div>
<script>
new Vue({
el: '#app',
data: {
message: 'GoGoGo!'
}
})
</script>
v-model 指令用来在 input、select、textarea、checkbox、radio 等表单控件元素上创建双向数据绑定,根据表单上的值,自动更新绑定的元素的值。
Vue.js 允许你自定义过滤器,被用作一些常见的文本格式化。由"管道符"指示, 格式如下:
<!-- 在两个大括号中 -->
{{ message | capitalize }}
<!-- 在 v-bind 指令中 -->
<div v-bind:id="rawId | formatId"></div>
v-bind 缩写
<!-- 完整语法 -->
<a v-bind:href="url"></a>
<!-- 缩写 -->
<a :href="url"></a>
v-on 缩写
<!-- 完整语法 -->
<a v-on:click="doSomething"></a>
<!-- 缩写 -->
<a @click="doSomething"></a>