当前位置: 首页 > news >正文

Vue.js第一节

初识Vue、插值操作、属性绑定

初识:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><!-- 第一步引入相关的JS文件 --><script src="./../utils/vue.js"></script>
</head>
<body><div id="app">12y327y328<div>{{num}}</div></div></body>
<script>// 现在思路全部跟之前的不一样 // 创建最简单的// 创建一个实例得到一个对象const vue= new Vue({// 这个也称为挂载点 会跟目标标签进行绑定,从此被vue管理el: "#app",// 用来放数据的 在VUE的区域声明变量data: {num: 0}})console.log(vue);</script>
</html>

属性绑定:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="./../utils/vue.js"></script><style>.card{width: 300px;height: 300px;border: 1px solid black;}/* 加一个激活样式 */.active{background-color: aqua;}</style>
</head>
<body><div id="app"><!-- v-bind:动态绑定标签中的属性值来源,从`data`中获取或者写一些表达式。Vue做了专门的增强。表达式结果的类型除了字符串之外,还可以是对象或数组。**形式**: --><!-- 那么我们在这边加上一个v-bind: 以及下面Vue中data的属性名 --><button v-bind:id="idName">按钮</button><!-- 也可以这样 --><button :id="idName">按钮</button><!-- 只要是标签的属性都能够绑定 value就是我们之前讲过的预设的输入值--><!--  --><input type="text" :value="inputText"><!-- 要么是Option内容 要么是js代码 记得加上单引号 --><input type="text" :value="1<0?'单号':'双汇'"><!-- 如果我下面有一排的card 有点像我们的轮播图 active的目标是一直在变的 在Vue是如何实现的 --><div class="card active"></div><div class="card "></div><div class="card "></div><div class="card "></div><div class="card "></div></div></body>
<script>// 实例Vuevar s=new Vue({// 挂载点el:"#app",// 放置数据data(){return{// 创建一个属性名 我现在要把值赋给ididName:'text',inputText:"请输入。。。。。。。。。。。。。。。"}}})</script>
</html>

Vue强化class绑定:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="./../utils/vue.js"></script><style>.box{width: 100px;height: 100px;background-color: aqua;}.active{background-color: red;}.active-fuben{background-color: red;}</style>
</head>
<body><!-- class 绑定 --><div id="app"><div :class="'box active'"></div><h1>字符串绑定</h1><!-- 一旦加上冒号的话 vue是会直接认作是变量 --><div :class="'box'"></div><div :class="text"></div><!-- obj绑定 新 赋值的是对象类型--><!-- 重点:如果我们要控制某个样式的显示和隐藏这时候就变得很快了 --><h1>obj绑定 新 </h1><div :class="obj"></div><!-- 属性绑定 以及绑了一个对象 actives:是一个变量会去data找 ,所以一定要声明 --><div :class="{box:true, active: actives }"></div><!-- ------------------------ --><h1>绑定数组 字符串和对象的结合体</h1><!-- 那么数组的每一个元素(只能是字符串否则不被接受)都会被渲染到目标上;并且数组里面还可以放对象(好处就是在于我们标签碰到一堆类名的时候,并且有些是固定的有些是不固定的,这时候我们声明一个数组,然后把固定的像box,直接写在数组里,对于那些不固定的我们用一个对象包裹着,对象里面) --><div :class="['box','123',{active:actives}]"></div><!--命名  技巧 --><h1>jiqiao</h1><div :class="active-fuben"></div></div>
</body>
<script>// var s=new Vue({el:"#app",data(){return{text:'box',obj:{// box:true,// 记住只要是属性值对应到bool,那么就会生效 例子在下面,这时候我们就可以在别的地方去控制这个值,比如点击事件 当我// 点击的时候我们就可以把这个值改为 true or false了// 平常写代码的时候,我们一般先把true写死actives:1>0,'active-fuben':true},actives:1>0,'active-fuben':true}}})
</script>
</html>

Vue强化style绑定:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="./../utils/vue.js"></script><style>.box{width: 100px;height: 100px;background-color: aqua;}</style>
</head>
<body><div id="app"><h1>字符串</h1><!-- 用的不多 没必要 --><div class="box" :style="text"></div><!-- 对象绑定用得比较多--><div class="box" :style="objs"></div> <h1>-------------------------------</h1><!-- 数组绑定 它的这个数组比较特殊 因为它这个数组里面只能放对象 用的比较少但是要知道--><div class="box" :style="[obj1,obj2]"></div><div class="box" :style="[obj1,1<0?obj2:{}]"></div></div>
</body>
<script>var s=new Vue({el:"#app",data(){return{text:'background-color: blueviolet',objs:{'background-color':'red','border':'5px solid black'},obj1:{'background-color':'blue'},obj2:{'border':'5px solid yellow'}}}})
</script>
</html>

插值语法:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><!-- 我们在项目的时候,一般都是采用阻塞式,必须得vue加载完才能往下走 --><script src="./../utils/vue.js"></script>
</head>
<body><div id="app"><!-- Mus语法:没有VUe的话正常的话会被当做是文本显示 --><div>{{H}}</div><div>{{num}}</div><!-- VUE指令都是写在标签里面的 --><!-- 那么这个值vue就会去data里面找 只能解析为字符串 前面VUE加载完,当VUE读到v-text指令的时候 会找到num,再把值放进来--><div v-text="num"></div><!-- ----------v-html--------------------- --><div v-html="htmls"></div><!-- ------有时候我们确实只想要字符串,不被VUE解析------------- --><div v-pre>{{H}}</div><!-- v-once与上面v-text效果相同但是区别在于只渲染一次数据 不跟随响应式变化 --><div v-once>{{num}}</div></div></body>
<script>var s= new Vue({el:"#app",// 之前我们data里面写的是以键值对的方式,现在变了// 我们把数据写在return里面 这一步是为了做数据隔离-组件之后才知道为什么data(){// 这里记住{不能换行,否则无法被Vue识别到return{/** * 当一个 Vue 实例被创建时,它将 `data` 对象中的所有的 `property`(属性) * 加入到 Vue 的**响应式系统**中。内部可以监听到变量的值发生变化,对应页面上也会发生变化,跟之前完全变了,我们只要告诉数据是啥,* 然后变量在哪个位置显示* 当这些  `property` 的值发生改变时,* * 视图将会产生“响应”,即匹配更新为新的值。* * **/H: "hello word",num:123,htmls:`<div>123</div><div>dnskds</div>`}}})// // 每两秒执行一次// setTimeout(() => {//     s.num++;// }, 2000);
</script>
</html>

相关文章:

  • Spring Boot 常用注解整理
  • 【开源解析】基于Python+Qt打造智能应用时长统计工具 - 你的数字生活分析师
  • 7.索引库操作
  • c++_cout的理解和使用
  • OpenStack入门体验
  • Neo4j常见语句-merge
  • 【AI Study】第四天,Pandas(5)- 数据可视化
  • 什么是MapReduce
  • 机器学习常用评估指标
  • 深入理解XGBoost(何龙 著)学习笔记(四)
  • TensorFlow基础之理解张量
  • Linux系统移植10:uboot移植
  • Ubuntu22.04安装opengauss并配置远程访问、JDBC连接
  • 创世新布控球 国标
  • FramePack 全面测评:革新视频生成体验
  • 蚂蚁百宝箱+MCP打造p 人解放神器agent,解放大脑
  • class对象【C#】2025复习
  • linux 下 jenkins 构建 uniapp node-sass 报错
  • rapidocr v3.2.0发布
  • CompletableFuture异步编程的六大典型问题与解决方案
  • 湛江北京网站建设/北京seo课程
  • 阿里巴巴网页版/搜索引擎推广seo
  • 怎么做网站导航栏/如何开发网站
  • wordpress网站数据库备份/百度首页快速排名系统
  • 十堰响应式网站建设/如何制作网站和网页
  • 广东网站设计品牌设计/网站整站优化公司