首先我们先解释一下下面用到的几个函数和对象
1、observe 观察者
2、Watcher 监听者
3、dep 监听者容器,就是一个数据的监听者(Wacher)都放在里面
4、notifiy 用来通知所有某数据的所有监听者,即通知数据的 dep的所有对象
5、updater 更新器包含多个更新器 根据不同的数据类型,执行不同的更新器。如 文本节点 指向TextUpdater 的逻辑
6、Combine 编译器 获取dom节点 将里面的模板数据 替换为真实数据。如
<div> {{name}} </div> 编译之后 变为 <div> 小明</div>

我也是初学者,这里看了别人的原码 加上了自己的理解
源码博客请看源码的博客地址
这些函数具体怎么用,怎么配合,请看下面:

一、数据代理

function MVVM(options) {this.$options = options || {};var data = this._data = this.$options.data;var _this = this;//当前实例vm// 数据代理// 实现 vm._data.xxx -> vm.xxx Object.keys(data).forEach(function(key) {_this._proxyData(key);});observe(data, this);this.$compile = new Compile(options.el || document.body, this);//定义编译器且初始化}MVVM.prototype = {
//数据代理函数实现
_proxyData: function(key) {var _this = this;if (typeof key == 'object' && !(key instanceof Array)){//这里只实现了对对象的监听,没有实现数组的this._proxyData(key);}Object.defineProperty(_this, key, {configurable: false,enumerable: true,get: function proxyGetter() {return _this._data[key];},set: function proxySetter(newVal) {_this._data[key] = newVal;}});
},
};

这里使用了 Object.defineProperty(对象,属性,配置)来实现数据代理,为什么要数据代理呢 ?
1、不想暴露内部逻辑
2、方便访问 如 vm._data.xxx -> vm.xxx
而且这里采用递归的方式 为对象以及对象的属性都添加代理

二、观察者

为数据添加观察者,即上面代码的observe(data, this);

function observe(data){if (typeof data != 'object') {return ;}return new Observe(data);
}function Observe(data){this.data = data;this.walk(data);//遍历 data
}Observe.prototype = {walk: function(data){let _this  = this;for (key in data) {if (data.hasOwnProperty(key)){//如果这个属性自身存在let dep = new Dep();let value = data[key];if (typeof value == 'object'){observe(value);}_this.defineReactive(data,key,data[key]);}}},defineReactive: function(data,key,value){//为这个属性设置get方法,同时生成一个dep数组订阅器,let dep = new Dep();//在data的属性key内形成闭包,因此每个key都对应一个唯一的订阅器Object.defineProperty(data,key,{enumerable: true,//可枚举configurable: false,//不能再defineget: function(){//console.log('你访问了' + key);//测试代码,忽略//如果是是初始化一个Watcher时引起的,则添加进订阅器if (Dep.target){dep.addSub(Dep.target);}//console.log(dep);//测试代码,忽略return value;},set: function(newValue){//console.log('你设置了' + key);//测试代码,忽略if (newValue == value) return;value = newValue;observe(newValue);//监听新设置的值//console.log(dep);//测试代码,忽略dep.notify();//通知所有的订阅者}})}
}function Dep(){this.subs = [];
}Dep.prototype = {addSub: function(sub){this.subs.push(sub);},notify: function(){this.subs.forEach(function(sub) {sub.update();//每个监听器都有 update 函数})}
}

这段代码为每一个数据都添加get/set函数,当数据发生改变时,做出一些响应。为什么要做出响应啊?为了当该数据改变的时候去通知关注该数据的那些节点让他更新。但是这时候dep数组里面没有对象,我怎么知道谁使用它了呢? 其实dep里的对象是编译的时候添加进去的。。

三、编译模板

编译就是为了把dom中绑定的变量 编译为真实的数据,并且添加对该数据的监听,这里说说其中的一些要点。
1、let fragment = document.createDocumentFragment();
fragment 的appendChild(child); 会把child剪切到内存中,对其进行操作,当然原来的child所指向的节点就会从dom树移除。
那么为什么要这么做呢??
我们都知道操作dom树是相当耗时的,因为我们对一个节点修改时,浏览器需要计算该元素相对于全局的位置、属性、样式等,而且当我们修改时会出现回流或者重绘,这是相当影响性能的。这里我们选择将要操作的dom 移动到内存中操作,就不会影响其他的dom元素,我们修改完成之后,在将该节点插入到dom树中,只计算一次,性能更好
2、我们是如何将节点添加到数据的监听者里的?
这里我们以所编译的节点为文本节点为例,如{{name}} ,看看是如何操作的。
(1)、首先用正则表达式/\{\{(.*)\}\}/将变量取出,即name,
(2)、调用compileUtil 的text函数,text函数中又调用了bind方法
将节点绑定到dep数组,通过代码中通过new Watcher

new Watcher(vm,exp,function(value){  // wacher 把自己挂载到 vm的 订阅者里updaterFn && updaterFn(node,value)//更新函数
});

我们看watcher,这个操作的意思就是把该节点弄成一个监听者对象,如何添加到dep数组呢?因为我们之前已经对name添加了get方法,并且那个get方法里
if (Dep.target){
dep.addSub(Dep.target);
}
我们在watcher的get函数里操作,通过Dep.target将自己传送到 name的get方法中,如下操作:因为有name有get方法,所以 this.vm[name]就会被调用

	get: function() { Dep.target = this;  // 缓存自己var value = this.vm[this.exp];  // 强制访问自己,执行defineProperty里的get函数         Dep.target = null;  // 释放自己return value;}
//Watcher
function Watcher(vm, exp, cb) {this.vm = vm;this.cb = cb;//更新函数this.exp = exp;this.value = this.get();//将自己添加进订阅器
};Watcher.prototype = {update: function(){this.run();},run: function(){const value = this.vm[this.exp];//console.log('me:'+value);//测试代码,忽略if (value != this.value){this.value = value;this.cb.call(this.vm,value);}},get: function() { Dep.target = this;  // 缓存自己var value = this.vm[this.exp];  // 强制访问自己,执行defineProperty里的get函数         Dep.target = null;  // 释放自己return value;}
}
function Compile(el,vm){this.$vm = vm;//vm为当前实例this.$el = document.querySelector(el);//获得要解析的根元素if (this.$el){this.$fragment = this.nodeToFragment(this.$el);//将节点添加到文档碎片this.init();this.$el.appendChild(this.$fragment);}	
}
Compile.prototype = {nodeToFragment: function(el){let fragment = document.createDocumentFragment();let child;while (child = el.firstChild){fragment.appendChild(child);//append相当于剪切的功能}return fragment;},init: function(){//初始编译this.compileElement(this.$fragment);},compileElement: function(node){let childNodes = node.childNodes;//获取子节点const _this = this;let reg = /\{\{(.*)\}\}/;[].slice.call(childNodes).forEach(function(node){	if (_this.isElementNode(node)){//如果为元素节点_this.compile(node);} else if (_this.isTextNode(node) && reg.test(node.textContent)){//如果为文本节点,并且包含data属性(如{{name}}),则进行相应操作_this.compileText(node,reg.exec(node.textContent)[1]);}	if (node.childNodes && node.childNodes.length){//如果节点内还有子节点,则递归继续解析节点_this.compileElement(node);	}})},compileText: function(node,exp){compileUtil.text(node,this.$vm,exp);},isElementNode: function(node){return (node.nodeType == 1);},isTextNode: function(node){return node.nodeType == 3;},isDirective: function(attr){return (attr.indexOf('v-') == 0);},isEventDirective: function(attr){return attr.indexOf('on') == 0;},isLinkDirective: function(attr){return attr.indexOf('bind') == 0;},//编译节点内的属性compile: function(node) {console.log('编译节点的属性')var nodeAttrs = node.attributes,//获取当前节点的属性,v-on:,v-bind:,v-model,class等属性_this = this;[].slice.call(nodeAttrs).forEach(function(attr) {var attrName = attr.name;if (_this.isDirective(attrName)) {//判断是否为vue指令var exp = attr.value;var dir = attrName.substring(2);// 事件指令: v-on:if (_this.isEventDirective(dir)) {//node:当前节点, _this.$vm:当前实例, exp:指令属性值(表达式或函数), dir:指令类型(on)compileUtil.eventHandler(node, _this.$vm, exp, dir);} if (_this.isLinkDirective(dir)){let attr = dir.split(':')[1];compileUtil[attr] && compileUtil[attr](node, _this.$vm, exp);}else {//其它指令: v-bind:,v-modelcompileUtil[dir] && compileUtil[dir](node, _this.$vm, exp);}}});},
};
let updater = {textUpdater: function(node,value){node.textContent = typeof value == 'undefined' ? '' : value;},modelUpdater: function(node, value) {node.value = typeof value == 'undefined' ? '' : value;},classUpdater: function(node, value) {var className = node.className;node.className = className + value;},
}
let compileUtil = {eventHandler: function(node,vm,exp,dir){let eventType = dir.split(':')[1];let fn = vm.$options.methods && vm.$options.methods[exp];if (eventType && fn){node.addEventListener(eventType,fn.bind(vm),false);}},class: function(node, vm, exp) {this.bind(node, vm, exp, 'class');},model: function(node,vm,exp){this.bind(node,vm,exp,'model');let _this = this;let value = node.value;node.addEventListener('input',function(e){let newValue = e.target.value;if (value == newValue) return;vm[exp] = newValue;//设置exp属性值,触发视图的更新},false);},text: function(node,vm,exp){this.bind(node,vm,exp,'text');},_getVMVal: function(vm,exp) {let arr = exp.split('.');let value = vm;arr.forEach(function(item){//a.b  -->arr = [a,b]-->value = ->> value = value[b]-->a[b]value = value[item];//经过了数据代理,所以data里的数据直接绑定到了实例上console.log('设置节点值',item,value)})//console.log(value);return value;},bind: function(node,vm,exp,dir){//初始化相关let updaterFn = updater[dir + 'Updater'];//获取更新器updaterFn && updaterFn(node,this._getVMVal(vm,exp));//初始化首先去 vm实例拿值new Watcher(vm,exp,function(value){  // wacher 把自己挂载到 vm的 订阅者里updaterFn && updaterFn(node,value)//更新函数});//console.log('实例化了一个Watcher');//测试代码,忽略}
};

至此,当我们修改某个数据的值的时候,就会自动调用该数据的监听者的updatefn函数,执行更新逻辑。

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

相关文章

  1. 【文骏礼仪幼儿园】——​迎接教科局2019年度民办教育年度综合评估

    原标题:【文骏礼仪幼儿园】——​迎接教科局2019年度民办教育年度综合评估为进一步加强和规范幼儿园管理,全面提升幼儿园办园质量,2019年12月16日上午,宣汉县教科局年检小组一行四人莅临我园——宣汉文骏礼仪幼儿园进行民办教育年度综合评估检查工作。 领导组现场查看并听取…...

    2024/5/2 4:29:34
  2. java设计模式————观察者模式,手写一个监听器

    观察者模式(Observer Pattern)定义了对象之间的一对多依赖,让多个观察者对象同时监听一个主体对象,当主体对象发生变化时,它的所有依赖者(观察者)都会收到通知并更新。属于行为型模式。观察者模式有时也叫发布订阅模式(微信,qq通知等都用了这种模式)。现实场景:我们…...

    2024/5/2 1:59:43
  3. 世上最没用的三种教育方法: 讲道理、发脾气、刻意感动

    原标题:世上最没用的三种教育方法: 讲道理、发脾气、刻意感动思想家卢梭说过:世界上最没用的三种教育方法就是:讲道理,发脾气,刻意感动, 这三种方法恰恰是当下许多家长和教师最热衷于用的。 小时候听过一个“手端银碗讨饭吃”的故事:有三位父亲经常到庙里为儿子祈福,…...

    2024/5/2 1:33:05
  4. 邯郸市红十字水上救援队到大名中学开展义务消毒消杀活动

    原标题:邯郸市红十字水上救援队到大名中学开展义务消毒消杀活动3月9日上午,邯郸市红十字水上救援队一行到大名中学开展义务消毒消杀活动。 到校后,救援队员就马不停蹄投入到工作中。他们自带消毒药水和专业的设备,熟练的分工协作、调试设备、配置消毒药水、喷洒消毒,认真地…...

    2024/5/2 1:37:22
  5. python入门休闲小游戏:狂暴外星人(完整源码,精细注释)

    实现功能这是一款射击游戏,可通过键盘按键操控飞机,发射子弹以及射杀外星飞船; 功能:可根据用户的射击通关,增加用户等级,提高用户射击速度,但是游戏难度会增加; 游戏界面显示:会显示用户拥有的飞机数、用户的最高射击成绩、用户当前的设计成绩、用户等级; 按键:空格…...

    2024/5/2 4:10:04
  6. 雇佣兵

    雇佣兵总时间限制: 1000ms内存限制: 65536kB描述 雇佣兵的体力最大值为M,初始体力值为0、战斗力为N、拥有X个能量元素。当雇佣兵的体力值恰好为M时,才可以参加一个为期M天的战斗期,战斗期结束体力值将为0。在同一个战斗期内,雇佣兵每连续战斗n天,战斗力就会上升1点,n为当…...

    2024/5/2 3:58:05
  7. 今年“庆三八”活动是消毒液味的

    原标题:今年“庆三八”活动是消毒液味的“我的三八妇女节愿望是大家都能摘下口罩,正常工作。”3月7日,正在863科技产业园企业办公楼前喷洒消毒液的物业女工王常云感慨道。王常云是当日的消毒排班人员,负责一日一次的园区公共区域和办公场所的消毒工作。 当天,863科技产业园…...

    2024/4/15 10:51:04
  8. 【战疫情,献爱心】我院党支部举行抗击疫情募捐活动

    原标题:【战疫情,献爱心】我院党支部举行抗击疫情募捐活动中国 加油! 战疫情 献爱心 一个支部就是一个战斗堡垒,一名党员就是一面旗帜!为积极响应党中央关于组织党员自愿捐款支持新冠肺炎疫情防控工作的号召,3月1日,北京光彩明天儿童眼科医院党支部面向广大共产党员开展…...

    2024/4/15 10:51:04
  9. 每日一学,赏戏曲品风情(三)|聆听沪剧经典,传承戏曲文化

    原标题:每日一学,赏戏曲品风情(三)|聆听沪剧经典,传承戏曲文化戏剧是中华优秀传统文化百花园中的一朵奇葩,具有悠久的历史、独特的魅力和广泛的受众。中国戏曲在其孕育和发展的历史过程中,以博大的胸怀不停地吸收一切可用的艺术手段,并加以消化。不同的时代,不同的地区…...

    2024/5/2 3:50:45
  10. 异地经营、私搭隔间,执法人员开出2张整改单

    原标题:异地经营、私搭隔间,执法人员开出2张整改单异地经营、私搭隔间,执法人员开出2张整改单 “你的营业执照在新区,经营地却在这里,还有,疫情期间的复工,是要申报复工手续,你有没有办……” 今天,市场监督现场开单,对异地经营,不按合法手续提出复工申请的一家汽车…...

    2024/5/1 22:18:06
  11. 唯音乐与时间不可辜负

    原标题:唯音乐与时间不可辜负每个人都有自己的活法,有人像风一样自由,有人像山一样厚重,有人像蝴蝶一样轻盈。人生百味,酸甜苦辣,有人闯进生命,有人乍然离场。人们说时间就是生命,我们没有太多的时间来浪费,每一分每一秒,唯有时光帮我们记得。光阴荏苒,有些东西沉淀…...

    2024/4/20 13:58:00
  12. 认筹火爆 势不可挡 | 横店·新天地三期观景高层,全城瞩目!

    原标题:认筹火爆 势不可挡 | 横店新天地三期观景高层,全城瞩目!REC 2018年已经来到 你想要一个什么样的家? 足不出户就能感受大自然的气息 出行便捷,配套齐全… 这一切无需想象 横店新天地帮你实现 1月25日 寒风瑟瑟 却也挡不住买房者的热情 横店新天地三期观景高…...

    2024/5/1 21:30:03
  13. 滴~您有一份来自江海体艺中心的邀请函,请签收!

    原标题:滴~您有一份来自江海体艺中心的邀请函,请签收!欢迎观临江海体艺中心~ 邀请函 尊敬的家长朋友们: 你们好! 十分感谢您选择了江海体艺中心,感谢您一直以来对本中心的信任与支持。为检验学员学习成果,本中心将于 2019年12月29日,晚上19:00-21:30在江海广场内…...

    2024/5/2 3:16:32
  14. 【定制】大中华区首家 Titleist 量身定制中心即将开放,小编带您先睹为快!

    原标题:【定制】大中华区首家 Titleist 量身定制中心即将开放,小编带您先睹为快!▲浓浓的 Titleist 风格 看到这张照片,相信各位热忱球手都不会感到陌生,完备的工具,专业的设备,简洁大气的陈设,信仰般的 Titleist 标志,没错这就是 Titleist 量身定制中心。 Titleist…...

    2024/5/1 23:24:38
  15. 以艺术之花,致敬每一朵绽放的生命!

    原标题:以艺术之花,致敬每一朵绽放的生命!山东星火学院祝您女神节快 乐! 责任编辑:...

    2024/4/15 10:50:56
  16. 共读《三国演义》:第十三回 李傕郭汜大交兵 杨奉董承双救驾

    原标题:共读《三国演义》:第十三回 李傕郭汜大交兵 杨奉董承双救驾第十三回 李傕郭汜大交兵 杨奉董承双救驾 朗读者:李亚茜 被曹操打得无处立足的吕布投奔刘备,刘备不顾众人反对非但接纳甚至以徐州牧相让,最终被安置在小沛。朝廷内,李催、郭汜横行无忌,被杨彪用反间计…...

    2024/4/15 10:50:55
  17. 红酒需要醒酒多长时间才合适?

    原标题:红酒需要醒酒多长时间才合适?转载来源 |ID茶话酒语(公众号) 葡萄酒在漫长的成长过程中犹如沉睡的美人,沉睡多年后在开启橡木塞的那一刻她需要一个苏醒的过程,这就让醒酒器帮你把它叫醒吧! 您需要有耐心再等待几个小时,在醒酒器中让美酒慢慢呼吸、苏醒。 什么样…...

    2024/4/15 10:51:00
  18. “疫”路同行 共待春暖花开

    原标题:“疫”路同行 共待春暖花开前方战“疫”,后方守护。3月4日,迈格钠携手鞍山市团市委向鞍山市90余名援鄂医护人员家属捐赠了包括口罩和生活用品在内的共计7万余元的慰问物资,总经理吴正波代表公司向全体医护人员及家属表达了最诚挚的敬意和感谢。 面对严峻的疫情形势…...

    2024/4/23 11:05:54
  19. 读书润泽心灵 雅言启迪人生——西中道幼儿园教师读书分享活动

    原标题:读书润泽心灵 雅言启迪人生——西中道幼儿园教师读书分享活动读书润泽心灵 雅言启迪人生 "腹有诗书气自华”,读书是提升教师专业素养的最佳途径。为进一步提高教室专业素养,引导教师在读书中增长智慧,修炼人格,营造积极向上、健康文明的园所文化氛围。西中…...

    2024/4/23 11:05:53
  20. 开窗通风小贴士

    原标题:开窗通风小贴士疫情当前,我们不仅要“戴口罩、勤洗手”,还要注意开窗通风。那么居家怎么科学开窗通风呢?这几点您应该知道。 开窗的5个最佳时刻 早起后 做饭时 扫除时 睡觉前 洗完澡 浴室湿度过大,利于细菌及病毒繁衍和传播,所以洗完澡要开窗通风。 以上这…...

    2024/4/29 15:42:39

最新文章

  1. 踏上R语言之旅:解锁数据世界的神秘密码(五)

    线性与非线性模型及R使用 文章目录 线性与非线性模型及R使用一、数据的分类与模型选择1.变量的取值类型 二、广义线性模型广义线性模型概述Logistic模型 总结 一、数据的分类与模型选择 1.变量的取值类型 因变量记为y&#xff0c;解释变量记为x1&#xff0c;x2,… 因变量y一般…...

    2024/5/2 4:50:59
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 《前端防坑》- JS基础 - 你觉得typeof nullValue === null 么?

    问题 JS原始类型有6种Undefined, Null, Number, String, Boolean, Symbol共6种。 在对原始类型使用typeof进行判断时, typeof stringValue string typeof numberValue number 如果一个变量(nullValue)的值为null&#xff0c;那么typeof nullValue "?" const u …...

    2024/5/1 8:48:40
  4. 【APUE】网络socket编程温度采集智能存储与上报项目技术------多路复用

    作者简介&#xff1a; 一个平凡而乐于分享的小比特&#xff0c;中南民族大学通信工程专业研究生在读&#xff0c;研究方向无线联邦学习 擅长领域&#xff1a;驱动开发&#xff0c;嵌入式软件开发&#xff0c;BSP开发 作者主页&#xff1a;一个平凡而乐于分享的小比特的个人主页…...

    2024/5/1 13:52:04
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/1 17:30:59
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/30 18:14:14
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/29 2:29:43
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/30 18:21:48
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/30 9:43:09
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/25 18:39:16
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/29 20:46:55
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/30 22:21:04
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/1 4:32:01
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/27 23:24:42
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/30 9:42:22
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/30 9:43:22
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/30 9:42:49
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57