声明:本人的所有博客皆为个人笔记,作为个人知识索引使用,因此在叙述上存在逻辑不通顺、跨度大等问题,希望理解。分享出来仅供大家学习翻阅,若有错误希望指出,感谢!
基本框架
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<!--vue挂载点-->
<div id="app">
<!--{
{}}为插值表达式,是声明式渲染的语法,将vue对象的data中的数据动态渲染到此处-->
{
{message}}
</div>
</body>
</html>
<script src="vue.js"></script>
<script src="one.js"></script>
//one.js
var app = new Vue({
//创建vue对象
el: '#app', //指定一个标签作为vue的挂载点(作用范围),使用css选择器选择
data: {
//vue中使用的数据
message: 'Hello Vue!!!!'
}
})
el:挂载点
作用:指定vue对象的作用范围为某一标签及其内部的后代标签
- 可以将vue挂载到除html和body外的任意双标签,建议挂载到div上
- 允许使用任意CSS选择器,但建议只是用id选择器
data:数据对象
作用:存储vue对象使用的数据,作为声明式渲染的数据源
其中的数据可以是任意JavaScript数据类型,例如对象、数组等
var app = new Vue({
el:'#app',
data:{
message:"hello world",
list:[1,2,3,4,5],
school:{
name:"齐鲁工业大学"
address:"长清区"
}
}
})
- 在vue挂载点内使用{ {list[2]}}、{ {school.name}}来使用数据
- 可以在js代码中使用
vue对象名.属性名
的方式访问data中的数据,如app.message,也可在methods中使用this.message访问数据
基本语法
{ {}}插值表达式
{ {}}插值表达式不仅可以将data数据直接插入到html中,还有以下用法:
<div id="app">
{
{num + 3}} <!--数字计算-->
{
{message + "abc"}} <!--字符串拼接-->
{
{sayhi()}} <!--方法调用,输出方法返回值-->
{
{message.split(' ').reverse().join(' ')}} <!--执行JavaScript代码-->
</div>
var app = new Vue({
el: '#app',
data:{
num:1,
message:"hello world"
},
methods:{
sayhi:function(){
return "hello";
}
}
})
v-text指令
作用:设置标签的文本值
<!--将message中的数据写入div-->
<div v-text="message"></div> message为vue对象的data数据
如果只需要设置部分文本值,应当使用{ {}}插值表达式,例如<p>123{ {message}}</p>,123不会被覆盖掉
v-text 和 { {}} 都支持字符串拼接,例如:
<div v-text="message+'123'"></div>
<div>{
{message+"123"}}</div>
- 二者作用相同
v-html指令
设置标签的innerHTML,用法与v-text相同,但是会将插入的内容解析为html代码
v-on指令
为元素绑定事件
<div id="app">
<div v-on:事件名="方法"></div>
<div @事件名="方法"></div> <!--简写形式-->
<div @事件名