Vue学习笔记 01
开始学习前端,Vue,React,之后会考虑学习UX/UI吧。
初学Vue 模板 非单文件
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
</head>
<body>
<div id="app">
<school></school>
</div>
</body>
<script type="text/javascript">
//组件
let school = Vue.extend({
template:`
<div>
<h1>{{name}}</h1>
<h1>{{address}}</h1>
</div>
`,
data(){
return{
name:"斯坦福大学",
address:"Stanford Street"
}
}
})
//容器
let app = new Vue({
el:"#app",
components:{
school:school
}
})
</script>
</html>
容器和Vue实例是一一对应
插值语法:
{{ }}里必须是js表达式
指令语法:
<a v-bind:href="url"> 指令语法都是v- 开头的
v-if, v-model
此时被:包裹的这个字符串里的引号里的 url 当做表达式使用
简写形式
v-bind: ===> :
vue实例例子
new Vue({
el:"",
data:{
prop1:"",
prop2:"",
school:{
address:"",
name:""
}
}
})
数据绑定
单向绑定 v-bind:
双向绑定 v-model:
<input type="text" v-bind:value="name">
<input type="text" v-model:value="name">
简写
<input type="text" :value="name">
<input type="text" v-model="name">
el 与 data的两种写法
el第一种写法
let v = new Vue({
el:"#root",
data:{
.....
}
})
el第二种写法
let v = new Vue({ data:{ ... }, v.$mount('#root') //第二种写法 })
//也可以这么写
...
setTimeout({
v.$mount('#root')
},1000);
...
data的第一种写法
let v = new Vue({
el:"#root",
data:{
.....
}
data的第二种写法(vue 组件里必须使用该方法)
let v = new Vue({
el:"#root",
data:function(){
return{
name:"albus"
...
}
}
注意点
data函数必须是普通函数,不可以是箭头函数。
data:()=>{} ❌ 这样写,data就没有自己的this,箭头函数没有自己的this。
注意!😊由Vue管理的函数,一定不要写成箭头函数,一旦写成箭头函数,this就不是vue实例的了。而是Window的了

浙公网安备 33010602011771号