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

从0到1学习Vue框架Day02

1、模板语法之插值

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>模板语法之插值</title><script src="../js/vue.js"></script>
</head>
<body><!-- 主要研究:{{这里可以写什么}}1、在data中声明的变量、函数等都可以。2、常量都可以。3、只要是合法的javascript表达式,都可以4、模板表达式都被放在沙盘中,只能访问全局变量的一个白名单,如Math和Date等。--><div id="app"><!-- data中生命的 --><h1>{{msg}}</h1><h1>{{sayHello()}}</h1><!-- 常量 --><h1>{{'bjpowernode 6666'}}</h1><!-- javascript表达式 --><h1>{{1 + 20 / 3}}</h1><!-- Math  --><h1>{{Math.ceil(3.345)}}</h1></div><script>new Vue({el : '#app',data : {msg : 'bjpowernode',sayHello : function(){console.log('hello');}}})</script>
</body>
</html>

2、模板语法之指令语法

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>模板语法之指令语法</title><script src="../js/vue.js"></script>
</head>
<body><!-- 指令语法:1、什么是指令?有什么作用?2、Vue框架中的所有指令的名字都以"v-"开始3、插值是写在标签体当中的,那么指令写在哪里呢?Vue框架中所有的指令都是以HTML标签的属性形式存在的,例如:<span 指令是写在这里的></span>注意:虽然指令是写在标签的属性位置上,但是这个指令浏览器是无法直接看懂的。4、指令的语法规则:指令的一个完整的语法格式:<HTML v-指令名:参数="表达式"></HTML>表达式:之前在插值语法中{{这里可以写什么}},那么指令中的表达式就可以写什么但是需要注意的是:在指令中的表达式位置不能外层再添加一个{{}}不是所有的指令都有参数和表达式:有的指令,不需要参数,也不需要表达式,例如:v-once有的指令,不需要参数,但是需要表达式,例如: v-if="表达式"有的指令,即需要参数,又需要表达式,例如: v-bind:参数="表达式"     5、v-once 指令作用:只渲染元素一次,随后的重新渲染,这可以用于优化更新性能。6、v-if="表达式" 指令作用:表达式的执行结果需要是一个布尔类型的数据:true或falseture:这个指令所在的标签,会被渲染到浏览器当中。false:这个指令所在的标签,不会被渲染到浏览器当中。--><div id="app"><h1>{{msg}}</h1><h1 v-once>{{msg}}</h1><h1 v-if="a > b">{{msg}}</h1></div><script>new Vue({el : '#app',data : {msg : 'bjpowernode',a : 10,b : 5}})</script></body>
</html>

3、v-bind指令详解

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=\, initial-scale=1.0"><title>v-bind指令详解</title><script src="../js/vue.js"></script>
</head>
<body><!-- v-bind指令详解1、这个指令是干嘛的?它可以让HTML标签的某个属性的值产生动态的效果2、v-bind指令的语法格式:<HTML标签 v-bind:参数="表达式"></HTML标签>3、v-bind指令的编译原理?编译前:<HTML标签 v-bind:参数="表达式"></HTML标签>编译后:<HTML标签 参数="表达式的执行结果"></HTML标签>在编译的时候v-bind后面的参数名会被编译为HTML标签的属性名表达式会关联data,当data发生改变之后,表达式的执行结果就会发生变化4、v-bind因为很常用,以下是简写方式:<img :src="imgPath">5、什么时候使用插值语法?什么时候使用指令?凡是标签体当中的内容想要动态,需要使用插值语法。只要向让HTML标签的属性动态,需要使用指令语法。--><div id="app"><!-- msg是变量名原则上v-bind指令后面的这个参数名可以随便写--><span v-bind:xyz="msg"></span><!-- 实战 --><input type="text" name="username" value="zhangsan"> <br><!-- 动态调整 --><input type="text" name="username" :value="username"> <br></div><script>new Vue({el : '#app',data : {msg : 'bjpowernode',username : 'lisi'}})</script>
</body>
</html>

4、v-model指令详解

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>v-model指令详解</title><script src="../js/vue.js"></script>
</head>
<body><!-- v-bind和v-model的区别和联系1、v-bind和v-model这两个指令都可以完成数据绑定。2、v-bind是单向数据绑定。data -> 视图3、v-model是双向数据绑定。data <- -> 视图4、v-bind可以使用在任何HTML标签当中,v-model只能使用在表单类元素上例如:input,select,textarea。因为表单才能给用户提供交互输入的界面。v-model指令通常也是用在value属性上5、v-bind和v-model都有简写方式:v-bind简写方式: v-bind:参数="表达式" ======  :参数="表达式"v-model简写方式: v-model:value="表达式" ======= v-model="表达式"--><div id="app"><input type="text" name="username" :value="name2"> <br><input type="text" name="username" v-model="name2"> <br></div><script>new Vue({el : '#app',data : {name1 : 'zhangsan',name2 : 'lisi'}})</script>
</body>
</html>

5、初始MVVM分层思想

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>初识MVVM分层思想</title><script src="../js/vue.js"></script>
</head>
<body><!-- 1、MVVM是什么?M:Model(模型/数据)V:View(视图)VM:ViewModel(视图模型),VM是MVVM中的核心部分。2、Vue框架遵循MVVM吗?虽然没有完全遵循MVVM模型,但是Vue的设计也受到了它的启发。Vue框架基本上也是符合MVVM思想的。3、MVVM模型当中倡导了Model和View进行了分离如果Model和View不分离,使用最原始的原生的javascript代码写项目:如果数据发生任意的改动,接下来我们需要编写大篇幅的操作DOM元素的JS代码。将Model和View分离之后,出现了一个VM核心,这个VM把所有的脏活累活给做了。Model和View互相去更新--><!-- V --><div id="app">姓名:<input type="text" name="username" v-model="name1"></div><script>// VMconst vm = new Vue({el : '#app',//  Mdata : {name1 : 'zhangsan'}})</script>
</body>
</html>


文章转载自:

http://yRZepyaJ.snLxb.cn
http://50DG3r8Z.snLxb.cn
http://LnrfgcuX.snLxb.cn
http://d5UASUMH.snLxb.cn
http://4NjRcDCc.snLxb.cn
http://Q7womlt1.snLxb.cn
http://h0UcxrZa.snLxb.cn
http://RFJBX47T.snLxb.cn
http://QTPZYQNj.snLxb.cn
http://soNQKYan.snLxb.cn
http://uJV2JbKB.snLxb.cn
http://CxKLT0k2.snLxb.cn
http://wZAgww2Q.snLxb.cn
http://ZnCEWZC3.snLxb.cn
http://3cOsMFjP.snLxb.cn
http://H18nFmnX.snLxb.cn
http://anrcLwcT.snLxb.cn
http://fgaByHoQ.snLxb.cn
http://gAqySeRU.snLxb.cn
http://pWyQ4V1T.snLxb.cn
http://Ul7qOmRA.snLxb.cn
http://M3avcMoK.snLxb.cn
http://dw81M8OC.snLxb.cn
http://nAHh5ZVH.snLxb.cn
http://LkqvY6bN.snLxb.cn
http://mNNz0WGE.snLxb.cn
http://mtnHAANq.snLxb.cn
http://UGOiMWaz.snLxb.cn
http://HCCcMVam.snLxb.cn
http://5wGTJsbQ.snLxb.cn
http://www.dtcms.com/a/373585.html

相关文章:

  • 人工智能学习:Transformer结构(编码器及其掩码张量)
  • ThreeJS骨骼示例
  • 网络工程师软考:网络自动化与可编程网络深度解析
  • 天工开物:耐达讯自动化RS232转ProfiBus网关连接变频器的“重生“术
  • WPF资源字典合并报错
  • DevExpress WPF 中文教程:如何将 WPF 数据网格绑定虚拟数据源?
  • TypeORM 入门教程:@ManyToOne 与 @OneToMany 关系详解
  • 开关电源基础知识
  • C++-RAII
  • nginx反向代理,负载均衡,tomcat的数据流向图篇解析
  • 独立站SEO优化:如何应用移动代理IP提升关键词排名?
  • Linux初始——cgdb
  • 【T2I】Discriminative Probing and Tuning for Text-to-Image Generation
  • Vue: ref、reactive、shallowRef、shallowReactive
  • HarmonyOS 应用开发深度解析:基于 ArkTS 的跨组件状态管理最佳实践
  • 鸿蒙系统下的智能设备故障检测实战:从监控到自愈的全流程实现
  • windows11备份系统盘
  • 小迪web自用笔记31
  • 【前端埋点】纯前端实现 A/B Test
  • Vue3+Cesim ^1.122.0 Home按钮位置自定义;时间轴UTC时间转化为北京时间
  • 第五十五天(SQL注入增删改查HTTP头UAXFFRefererCookie无回显报错复盘)
  • leetcode 1317 将整数转换为两个无零整数的和
  • 高斯数据库(GaussDB)常用命令
  • git 配置本地添加ssh
  • ⸢ 肆 ⸥ ⤳ 默认安全建设方案:c-1.增量风险管控
  • 从零开始学大模型之大模型应用
  • 事务设置和消息分发
  • 人工智能-python-深度学习-神经网络-GoogLeNet
  • 告别进度拖延:19款项目进度管理软件深度测评
  • lesson56:CSS进阶指南:Flex布局、变换渐变与动画实战全解析