目录解析
<!-- 展示模板 -->
<template>
<div id="app">
<img src="./assets/logo.png">
<hello></hello>
</div>
</template>
<script>
// 导入组件
import Hello from './components/Hello'
export default {
name: 'app',
components: {
Hello
}
}
</script>
<!-- 样式代码 -->
<style>
#app {
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>
起步
每个 Vue 应用都需要通过实例化 Vue 来实现。
语法格式如下:
var vm = new Vue({
// 选项
})
在 Vue 构造器中有一个el 参数,它是 DOM 元素中的 id。
<div id = "vue_det"></div>
data 用于定义属性,实例中有三个属性分别为:site、url、alexa。
methods 用于定义的函数,可以通过 return 来返回函数值。
{{ }} 用于输出对象属性和函数返回值。
模板语法
插值:使用 {{…}}(双大括号)的文本插值;v-html 指令用于输出 html
属性:v-bind 指令
表达式
指令:带有 v- 前缀的特殊属性;用于在表达式的值改变时,将某些行为应用到 DOM 上
参数:参数在指令后以冒号指明
修饰符:修饰符是以半角句号 . 指明的特殊后缀,用于指出一个指令应该以特殊方式绑定。例如,.prevent 修饰符告诉 v-on 指令对于触发的事件调用event.preventDefault():
<form v-on:submit.prevent="onSubmit"></form>
用户输入:在 input 输入框中我们可以使用 v-model 指令来实现双向数据绑定。
v-model 指令用来在 input、select、textarea、checkbox、radio 等表单控件元素上创建双向数据绑定,根据表单上的值,自动更新绑定的元素的值。
过滤器:Vue.js 允许自定义过滤器,被用作一些常见的文本格式化。由"管道符"指示, 格式如下:
<!-- 在两个大括号中 -->
{{ message | capitalize }}
<!-- 在 v-bind 指令中 -->
<div v-bind:id="rawId | formatId"></div>
过滤器函数接受表达式的值作为第一个参数。
缩写:
- v-bind 缩写
Vue.js 为两个最为常用的指令提供了特别的缩写:
<!-- 完整语法 -->
<a v-bind:href="url"></a>
<!-- 缩写 -->
<a :href="url"></a>
- v-on 缩写
<!-- 完整语法 -->
<a v-on:click="doSomething"></a>
<!-- 缩写 -->
<a @click="doSomething"></a>
语句
条件语句
条件判断:
- v-if
条件判断使用 v-if 指令, - v-else
可以用 v-else 指令给 v-if 添加一个 “else” 块 - v-else-if
v-else-if 用作 v-if 的 else-if 块,可以链式的多次使用
v-else 、v-else-if 必须跟在 v-if 或者 v-else-if之后
- v-show
可以使用 v-show 指令来根据条件展示元素
循环语句
-
循环使用 v-for 指令。 v-for 指令需要以 site in sites 形式的特殊语法, sites 是源数据数组并且
site 是数组元素迭代的别名。v-for 可以绑定数据到数组来渲染一个列表 -
v-for 迭代对象
v-for 可以通过一个对象的属性来迭代数据 -
v-for 迭代整数
v-for 也可以循环整数
下周见!