学习day47

Vue 

现在开始学Vue了,问了同学,他说这个东西的内容很多。然后就跟着尚硅谷来学Vue了

用的是visual studio code,所以又下了一个visual。

首先时下载Vue,我再Vue3的官网是没有看到下载的,所以是跑到Vue2去下载的

将它自动跳出的警告去掉。分别先是在默认浏览器的扩展中安装了一个vue.js devtools插件

然后是在代码中将

<script type="text/javascript">

        Vue.config.productionTip=false //阻止vue在启动时生成生产提示

    </script>

写入

1.想让vue工作,就必须创建一个vue实例,且要传入一个配置文件

2.root容器里的代码依然符合html的规范,只不过混入了一些特俗的Vue语法

3.root容器里的代码被成为【Vue模板】

4.Vue实例和容器时一一对应的

5.真实开发中只有一个Vue实例,并且会配合着组件一起使用

6.{{xxx}}中的xxx要写js表达式,且xxx可以自动读取到data中的所有属性

7.一旦打他中的数据发生改变,那么页面中用到该数据的地方也会自动更新

Vue的模板语法

Vue模板语法又两大类:

          1.插值语法:

             功能:用于解析标签体内容

             写法:{{xxx}},xxx是js的表达式,且可以直接读取到data中的所有属性

          2.指令语法:

             功能:用于解析标签(包括:标签属性,标签体内容,绑定事件......)。

             举例:v-bind:href="xxx" 或 简写为 :href="xxx",xxx同样是js的表达式

                   且可以直接读取到data中的所有属性

             备注:Vue中有很多的指令,且形式都是v-????,此处我们只是拿v-bind举例

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>模板语法</title><script type="text/javascript" src="../js/vue.js"></script>
</head>
<body><!-- Vue模板语法又两大类: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><a v-bind:href="school.url">点我去{{school.name}}学习</a></div>
</body><script type="text/javascript">Vue.config.productionTip=falsenew Vue({el:"#root",data:{name:'jack',school:{name:'尚硅谷',url:'http://www.atguigu.com'}}})</script></html>

Vue中有两种数据绑定的方式:

          1.单向绑定(v-bind):数据只能从data流向页面

          2.双向绑定(v-model):数据不仅能从data流向页面,还可以从页面流向data

            备注:

              1.双向绑定一般都是应用在表单元素上面(如:input,select等)

              2.v-model:value 可以简写为v-model,因为v-model默认收集的就是value值

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>数据绑定</title><script type="text/javascript" src="../js/vue.js"></script>
</head>
<body><!-- Vue中有两种数据绑定的方式:1.单向绑定(v-bind):数据只能从data流向页面2.双向绑定(v-model):数据不仅能从data流向页面,还可以从页面流向data备注:1.双向绑定一般都是应用在表单元素上面(如:input,select等)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" :value="name"><br>双向数据绑定: <input type="text" v-model="name"><br><!-- 以下代码是错误的,因为v-model只能应用在表单类元素(输入类元素)上 --><!-- <h2 v-model:x="name">你好啊</h2> --></div></body>
<script type="text/javascript">Vue.config.productionTip=falsenew Vue({el:"#root",data:{name:'cy'}})</script></html>

data和el的两种写法

          1.el的两种写法

             (1).new Vue式配置el的属性

             (2).先创建Vue实例,随后再通过vm.$mount('#root')指定el的值

          2.data有两种写法

             (1)对象式

             (2)函数式

          3.一个重要的原则

             由Vue管理的函数,一定不要写箭头函数,一旦写了箭头函数,this就不再是Vue实例了

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>el和data的两种写法</title><script type="text/javascript" src="../js/vue.js"></script>
</head>
<body><!-- data和el的两种写法1.el的两种写法(1).new Vue式配置el的属性(2).先创建Vue实例,随后再通过vm.$mount('#root')指定el的值2.data有两种写法(1)对象式(2)函数式3.一个重要的原则由Vue管理的函数,一定不要写箭头函数,一旦写了箭头函数,this就不再是Vue实例了--><div id="root"><h1>你好,{{name}}</h1></div></body>
<script type="text/javascript">Vue.config.productionTip=false//el的两种写法// const v= new Vue({//     //el:"#root", 第一种写法//     data:{//         name:'尚硅谷'//     }// })// console.log(v)// v.$mount('#root') //第二种写法//data的两种写法new Vue({el:'#root',//data的第一种写法:对象式// data:{//     name:'尚硅谷'// }//data的第二种写法data:function(){return{name:'尚硅谷'}}})</script></html>

MVVM模型:

          1.M:模型(Model):data中的数据

          2.V:视图(View):模板代码

          3.VM:视图模型(ViewModel):Vue实例

        观察发现:

          1.data中所有的属性,最后都出现在了vm身上

          2.vm身上所有的属性及Vue原型上所有的属性,在Vue模板中都可以直接使用

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>理解MVVM</title><script type="text/javascript" src="../js/vue.js"></script>
</head>
<body><!-- MVVM模型:1.M:模型(Model):data中的数据2.V:视图(View):模板代码3.VM:视图模型(ViewModel):Vue实例观察发现:1.data中所有的属性,最后都出现在了vm身上2.vm身上所有的属性及Vue原型上所有的属性,在Vue模板中都可以直接使用--><div id="root"><h1>学校名称:{{name}}</h1><h1>学校地址:{{adress}}</h1></div><script type="text/javascript">Vue.config.productionTip=false //阻止vue在启动时生成生产提示const vm=new Vue({el:"#root",data:{name:'尚硅谷',adress:'北京'}})console.log(vm)</script>
</body>
</html>

Object.defineproperty

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>回顾Object.defineproperty方法</title><script type="text/javascript"></script>
</head>
<body>
<script type="text/javascript">let number=18let person={name:'张三',sex:'男'}Object.defineProperty(person,'age',{// value:18,  //数据的直传//enumerable:true //控制属性是否可以枚举,默认值是false//writable:true  //控制属性是否可以被修改 默认值是false//configurable:true  //控制属性是否可以被删除,默认值是false//当有人读取person的age属性时,get函数(getter)就会被调用,且返回值就是age的值get:function(){console.log('有人读取age属性')return number},//当有人修改person的age属性时,set函数(setter)就会被调用,且会收到修改的具体值set(value){console.log('有人修改了age属性,且值是',value)number=value}})</script>
</body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1919.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

G1垃圾收集分类-JVM(十四)

上篇文章说了G1不在是连续的老年代年轻代&#xff0c;而是分为不同的region&#xff0c;有eden&#xff0c;survivor&#xff0c;old&#xff0c;humongous&#xff0c;当大于百分之50region的数据则直接进入humongous&#xff0c;如果对象太大&#xff0c;会连续的存储&#x…

P8271 [USACO22OPEN] COW Operations S 奶牛操作

P8271 [USACO22OPEN] COW Operations S 奶牛操作 文章目录 P8271 [USACO22OPEN] COW Operations S 奶牛操作[USACO22OPEN] COW Operations S题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示分析code [P8271 USACO22OPEN] COW Operations S - 洛谷 | 计算机科学教…

使用Python的requests库发送HTTPS请求时的SSL证书验证问题

问题描述 使用python的requests库去发送https请求&#xff0c;有时候不设置verifyFalse不报错&#xff0c;有时候又报错。 问题原因 使用Python的requests库发送HTTPS请求时&#xff0c;设置verifyFalse参数可以跳过SSL证书验证。默认情况下&#xff0c;requests库会验证SSL…

在 Linux 系统上下载 Android SDK

使用ubuntu系统进行车机开发&#xff0c;今天开始配置环境&#xff0c;首先是下载android studio&#xff0c;然后下载android sdk&#xff0c;这里需要注意的是linux系统不能使用windows系统下的Android sdk&#xff0c;亲测会出现各种问题。 常规思路&#xff0c;下载sdk&am…

Jenkins的几种安装方式以及邮件配置

目录 Jenkins介绍 Jenkins下载、安装 一、通过war包安装 二、通过docker安装 jenkins 容器中添加 git, maven 等组件 jenkins 容器中的公钥私钥 在 jenkins 容器中调用 docker 简单的方式启动 Docker server REST API 一个 jenkins 示例 三、通过Homebrew安装 访问Je…

HDFS面试(自己学习版)

1.简单问题 1. HDFS的优点&#xff1f; 处理大数据容易扩展&#xff0c;直接加服务器高容错&#xff0c;多副本低要求 不需要优秀的服务器&#xff08;负载均衡&#xff09; 2.HDFS的缺点&#xff1f; 不适应实时 &#xff0c; 修改速率相对较慢&#xff08;只能追加&#…

oceanbase基础

与mysql对比 分布式一致性算法 paxos 存储结构&#xff08;引擎&#xff09;用的是两级的 数据库自动分片功能&#xff0c;提供独立的obproxy路由写入查询等操作到对应的分片 多租户 方便扩展 存储层 http://www.hzhcontrols.com/new-1391864.html LSM tree&#xff0c;is very…

【cfengDB】自己实现数据库第0节 ---整体介绍及事务管理层实现

LearnProj 内容管理 MySQL系统结构一条SQL执行流程 cfengDB整体结构事务管理TM模块TID文件规则定义文件读写 -- NIORandomAccessFile、FileChannel、ByteBuffer接口实现文件合法检测begin()commit(tid)rollback(tid)tid文件创建 本文作为数工底层的项目CfengDB开始篇章&#xf…

UART串口通信协议

一、串行通信 串行通信分为两种方式&#xff1a;同步串行通信和异步串行通信。 同步串行通信需要通信双方在同一时钟的控制下&#xff0c;同步传输数据。 异步串行通信是指通信双方使用各自的时钟控制数据的发送和接收过程。 二、UART 通用异步收发传输器&#xff08;Unive…

【Vue/element】 el-table实现表格动态新增/插入/删除 表格行,可编辑单元格

el-table实现表格动态新增/插入/删除 表格行&#xff0c;可编辑单元格 效果如下&#xff1a; 点击“新增一行”可以在表格最后新增一行&#xff0c;单元格内容可编辑 点击绿色按钮&#xff0c;可在指定行的后面插入一行 点击红色-按钮&#xff0c;可以删除指定行 原理&#…

让小程序动起来-轮播图的两种方式--【浅入深出系列003】

浅入深出系列总目录在000集 如何0元学微信小程序–【浅入深出系列000】 文章目录 本系列校训学习资源的选择啥是轮播图轮播图的关键代码最常见的轮播图代码便于理解的轮播代码两种轮播代码的比较 实际操练第一步&#xff0c;就是找到文件。第二步&#xff0c;先改动一下最显眼…

软件测试之语音识别功能如何测试?

语音识别功能的测试需要考虑以下几个方面&#xff1a; 1. 语音输入测试 测试语音识别系统能否准确识别用户的语音输入。这包括测试系统对各种不同语言、方言和口音的理解能力&#xff0c;以及对不同声音质量和噪音环境的鲁棒性测试。 2. 语义理解测试 测试语音识别系统能否准…

Docker使用总结

Docker 1.什么是 Docker 官网的介绍是“Docker is the world’s leading software container platform.” 官方给Docker的定位是一个应用容器平台。 Docker 是一个容器平台的领导者 Docker 容器平台 Docker 应用容器平台 application项目 Mysql Redis MongoDB ElasticSeacrh …

计算机网络相关知识点总结(一)

因特网的前身是1969年创建的第一个分组交换网 ARPANET。 ARPANET&#xff08;Advanced Research Projects Agency Network&#xff09;是美国国防高级研究计划局&#xff08;ARPA&#xff09;在20世纪60年代末到70年代初开发的一种计算机网络。 它被认为是互联网的前身&#…

分布式运用——存储系统Ceph

分布式运用——存储系统Ceph 一、Ceph 介绍1.Ceph 简介2、存储基础2.1 单机存储设备2.2 单机存储的问题2.3 商业存储解决方案2.4 分布式存储&#xff08;软件定义的存储 SDS&#xff09;2.5 分布式存储的类型 3.Ceph 优势3.1 高扩展性3.2 高可靠性3.3 高性能3.4 功能强大 4.Cep…

hybridCLR热更遇到问题

报错1&#xff1a; No ‘git‘ executable was found. Please install Git on your system then restart 下载Git安装&#xff1a; Git - Downloading Package 配置&#xff1a;https://blog.csdn.net/baidu_38246836/article/details/106812067 重启电脑 unity&#xff1a;…

macOS 开发 - NSAlert

文章目录 关于 NSAlert代码实现简单弹出Alert 类型贴着窗口 beginSheetModalForWindow添加按钮关于 NSAlert 官方文档:https://developer.apple.com/documentation/appkit/nsalert代码实现 简单弹出 - (void)showAlert3{NSAlert *alert

嵌入式工程师常用的软件工具推荐

前言&#xff1a;常言道&#xff1a;工欲善其事&#xff0c;必先利其器。作为一名合格的嵌入式工程师&#xff0c;日常可能需要接触和处理各种奇奇怪怪的问题&#xff0c;这时候一款高适配性的工具将会令工作效率大大提升。作者根据个人的实际使用情况与粉丝的客观感受&#xf…

MySQL表的约束

目录 前言 1.什么是约束 2.空属性 3.默认值 4.列描述 5.zerofill 6.主键 7.自增长 8.唯一键 9.外键 总结 前言 hello&#xff0c;各位小伙伴大家好&#xff0c;本章内容为大家介绍关于MySQL约束的相关内容&#xff0c;关于约束这个概念&#xff0c;如果是第一次接触可…

JAVA ---- 经典排序算法

目录 一. 插入排序 1. 直接插入排序 代码演示 2.希尔排序( 缩小增量排序 ) 二. 选择排序 1.直接选择排序 代码&#xff1a; 2. 堆排序 代码 三. 交换排序 1. 冒泡排序 代码 2. 快速排序 代码&#xff08;有注释&#xff09;&#xff1a; 动图来自网…