1、Vue是JavaScript框架
2、简化DOM操作
3、响应式的数据驱动(当数据改变,页面也会同步更新)
1、导入Vue的CDN
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js">script>
2、创建Vue实例对象,设置el属性和data属性
3、使用模板语法将数据渲染到页面上
DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>title>
head>
<body>
<div id="app">
{
{message}}
div>
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js">script>
<script>
var app = new Vue({
el:"#app",//选择元素
//new实例中的数据
data:{
message:"Hello Vue!123"
}
})
script>
body>
html>
通过CSS选择器,设置Vue实例管理的元素。设置之后,被el命中的元素内部使用两个大括号 { {}} 修饰的部分,会被data中同名的数据说替换
Vue的作用范围是el所挂载的标签内部
el挂载不仅可以使用id选择器,而也可以使用其他选择器,但是建议使用id选择器,因为id选择器是唯一的,而选择其他选择器可能会有多个选择。
{
{message}}
<div id="app" class="app">
{
{message}}
<span>{
{message}}span>
div>
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js">script>
<script>
var app = new Vue({
// el:"#app",
el:".app",
data:{
message:"zhangsan"
}
})
script>
当然,也可以使用其他标签作为挂载标签(双标签,除了html和body),但是建议使用div,因为div没有自己的样式,比较简介。
在data属性当中,不仅有类似于message:"zhngsan"的简单类型,还有数组、对象等复杂类型,那这些数据类型要如何获取呢?
<div id="app">
{
{message}}
<h2>{
{school.name}} {
{school.mobile}}h2>
<ul>
<li>{
{citys[0]}}li>
<li>{
{citys[1]}}li>
<li>{
{citys[2]}}li>
<li>{
{citys[3]}}li>
ul>
div>
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js">script>
<script>
var app = new Vue({
el:"#app",
data:{
message:"zhangsan",
school:{
name:"北京大学",
mobile:"0000-0000-8888"
},
citys:["北京","上海","广州","深圳"]
}
})
script>
设置标签的文本值textContext
<div id="app">
<h1>设置标签值h1>
<h2 v-text="message">姓名:h2>
{}}的方法设置值,只有大括号内部的值会被替换,其他值原封不动保留-->
<h2>姓名:{
{message}}h2>
<h1>标签字符串拼接h1>
<h2 v-text="'姓名:' +message+ '!!!'">h2>
<h2>姓名:{
{message + "!!!"}}h2>
div>
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js">script>
<script>
var app = new Vue({
el:"#app",
data:{
message:"zhangsan"
}
})
script>
设置标签的innerHTML,即如果设置的值是普通文本,则它的功能于 v-text 相同,若为HTML结构,则会被解析。
<div id="app">
<h1>v-html标签h1>
<h2 v-html="message">h2>
<h2 v-html="context">h2>
<h1>v-text标签h1>
<h2 v-text="message">h2>
<h2 v-text="context">h2>
div>
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js">script>
<script>
var app = new Vue({
el:"#app",
data:{
message:"zhangsan",
context:"百度"
}
})
script>
v-on指令为元素绑定事件,当指向特定操作时,如点击、失去焦点等可以添加自定义的逻辑,就可以为对应的事件绑定元素。
on-click的使用:
<input type="button" value="事件绑定" v-on:click="方法">
<input type="button" value="事件绑定" @dblclick="方法">
示例:
<div id="app">
<input type="button" value="v-on指令" v-on:click="doIt">
<input type="button" value="v-on简写" @click="doIt">
<input type="button" value="双击事件" @dblclick="doIt">