发表于: 2023-04-28 20:28:34
0 279
Vue知识点:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>初始 Vue</title>
<!-- 引入vue -->
<script type="text/javascript" src="../vue_basic/vue.js"></script>
</head>
<body>
<!--
初始Vue:
1.想让Vue工作,就必须创建一个Vue实例,且要传入一个配置对象;
2.root容器里的代码依然符合html规范。只不过混入了一些特殊的Vue语法;
3.root容器里的代码被称为【Vue模板】
4.Vue实例和容器是一一对应的;
5.真实开发中只有一个Vue实例,并且会配合着组件一起使用
6.{{xxx}}中的xxx要写js表达式,且xxx可以自动读取到data中的所有属性;
7.一旦data中的数据发生改变,那么页面中用到该数据的地方也会自动更新;
-->
<!-- 准备好一个容器 -->
<div id="root">
<h1>Hello, {{name}},{{age}}岁</h1>
</div>
<script type="text/javascript">
Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示
//创建 Vue 实例
new Vue({
el:'#root', //el用于指定当前Vue实例为哪个容器服务,值通常为css选择器字符串
data:{//data中用于存储数据,数据供el所指定的容器去使用
name:'张三',
age:18
}
})
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>模板语法</title>
<!-- 引入vue -->
<script type="text/javascript" src="../vue_basic/vue.js"></script>
</head>
<body>
<!-- vue模板语法有2大类:
1.插值语法:
功能:用于解析标签体内容。
写法:{{xxx}},xxx是js表达式,且可以直接读取到data中的所有属性。
2.指令语法:
+功能:用于解析标签(包括:标签属性、标签体内容、绑定事件.....) .
举例: v-bind :href="xxx”或简写为 :href="xxx",xxx同样要写js表达式,
且可以直接读取到data中的所有属性
备注:Vue中有很多的指令,且形式都是: v-????,此处我们只是拿v-bind举个例子.
-->
<!-- 准备好一个容器 -->
<div id="root">
<h1>插值语法</h1>
<h3>你好, {{name}}</h3>
<hr/>
<h1>指令语法</h1>
<!-- v-bind指令主要用于响应式的更新html属性 -->
<a v-bind:href="url" v-bind:x="hello">点我跳转到{{name}}1</a>
<!-- v-bind: 可以简写为 : -->
<a :href="url" >点我跳转到{{school.name}}2</a>
</div>
<script type="text/javascript">
Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示
//创建 Vue 实例
new Vue({
el:'#root',
data:{
name:'张三',
url:'http://www.baidu.com',
hello:'你好',
school: {
name:'百度'
}
}
})
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>数据绑定</title>
<!-- 引入vue -->
<script type="text/javascript" src="../vue_basic/vue.js"></script>
</head>
<body>
<!--
视频中有2种数据绑定的方式
1.单向绑定(虚拟绑定) :数据只能从数据流向页面。
2.双向绑定(v-model): 数据不仅能从data流向页面,还可以从页面流向data。
备注:
1.双向绑定一般都应用在表单类元素上 (如:输入、选择等)
2.v-model;value 可以简写为 v-model,因为v-model默认收集的就是value值
-->
<!-- 准备好一个容器 -->
<div id="root">
<!-- 普通写法 -->
<!-- 单向数据绑定:<input type="text" v-bind:value="name"></br>
双向数据绑定:<input type="text" v-model:value="name"></br> -->
<!-- 简写 -->
单向数据绑定:<input type="text" v-bind:value="name"></br>
双向数据绑定:<input type="text" v-model="name"></br>
<!-- 下面是错误的,因为v-model只能应用在表单类元素(输入元素)上 -->
<!-- <h2 v-model:x="hello">你好</h2> -->
</div>
<script type="text/javascript">
Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示
new Vue({
el:'#root',
data:{
name:'张三'
}
})
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>el和data的两种写法</title>
<!-- 引入vue -->
<script type="text/javascript" src="../vue_basic/vue.js"></script>
</head>
<body>
<div id="root">
<h1>你好,{{name}}</h1>
</div>
<!--
data与e1的2种写法
1.e1有2种写法
(1).new Vue时候配置el属性。
(2).先创建Vue实例,随后再通过vm.$mount('#root')指定el的值。
2.data有2种写法
(1).对象式
(2).函数式
如何选择: 目前哪种写法都可以,以后学习到组件时,data必须使用函数式,否则会报错
3。一个重要的原则:
由Vue管理的函数,一定不要写箭头函数,一旦写了箭头函数,this就不再是Vue实例了。
-->
<script type="text/javascript">
Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示
//el的两种写法
// const v = new Vue({
// //第一种写法
// // el:'#root',
// data:{
// name:'张三'
// }
// })
// console.log(v)
// // v.$mount() 可以代替el 更好的灵活了
// v.$mount('#root') //第二种写法
//data的两种写法
new Vue({
el:'#root',
//data第一种写法: 对象式
// data:{
// name:'张三'
// }
//data第二种写法: 函数式
// data:function(){
// console.log('---',this)//此处的this是Vue的实例对象
// return{
// name:'李四'
// }
// }
// 函数式简写
data(){
console.log('---',this)//此处的this是Vue的实例对象
return{
name:'李四'
}
}
})
</script>
</body>
</html>
评论