最新要闻
- 热消息:4月10日上市 福特F-150猛禽烈焰风暴特别版官图发布 为中国市场而
- 能抄底了?一汽奥迪补贴经销商清库存 明星车型降价近10万
- 每日看点!马云回国首谈ChatGPT:机器只有“芯”而人有“心”
- 国产车赢麻了!报告:中国品牌占俄罗斯新车销量近40%
- 焦点信息:“高端家用车”?比亚迪汉DM-i试驾 极致的油耗和空间
- 天天视讯!国产两轮电动车龙头!雅迪2022年营收310亿创纪录:电动自行车销量大增
- 速读:前备箱门锁失灵?特斯拉扩大召回进口Model S
- 京东方iPhone 15灵动岛屏被曝漏光 苹果搬来三星救火:提前生产
- 天天热点评!女子赏花站梨树枝头甩衣狂摇 拍摄者:花瓣掉落一地
- 观热点:女子吃自助餐将店内甲鱼煮食 网友:是个狠人
- 乌鲁木齐周生生黄金价格多少钱一克(2023年3月27日)
- 女生从俄罗斯花2分钟回国吃麻辣烫 挑战全网最短留学距离:网友感慨真近
- 环球观点:文心一言升级版!百度发布企业级大模型服务平台“文心千帆”
- 当前速讯:太危险!女子驾驶保时捷玩具车上机动车道吓坏路人:自称为了好玩
- 承认造假丑闻!百年日企川崎重工形象崩塌:鞠躬道歉
- 资讯推荐:男子跑滴滴1单挣了3148元:光等待费就两千多元
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
环球观察:Vue 核心(二)
- Vue 核心(二)
- 八、 绑定样式
- 1、 class
- 2、 style
- 九、 条件渲染
- 1、 渲染指令
- 2、 使用示例
- 十、 列表渲染
- 1、 基本语法
- 2、 key原理
- 3、 列表过滤
- 4、 列表排序
- 5、 数组更新检测
- 6、 大总结
- 十一、 收集表单数据
- 十二、 内置指令
- 1、 v-text
- 2、 v-html
- 3、 v-cloak
- 4、 v-once
- 5、 v-pre
- 6、 自定义指令
- 6.1 示例
- 6.2 总结
- 十三、 生命周期
- 1、 引出生命周期
- 2、 分析生命周期
- 3、 总结
- 八、 绑定样式
Vue 核心(二)
八、 绑定样式
1、 class
样式绑定 <script type="text/javascript" src="../js/vue.js"></script> 你好 样式数组 绑定对象 <script type="text/javascript"> Vue.config.productionTip = false; new Vue({ el: "#root", data() { return { custom: "custom_1", custom_arr: [], // 样式数组,可以动态的删除和添加样式,增加动态性 custom_obj: { custom_3: false, custom_2: true, }, } }, methods: { changeStyle() { // 需求,点击事件设置随机样式 const style = (() => { return ["custom_1", "custom_2", "custom_3"] })() // 将所有的样式存放在一个数组中 let num = Math.floor(Math.random() * 3) this.custom = style[num] } } })</script>
2、 style
样式绑定 <script type="text/javascript" src="../js/vue.js"></script> style内部样式 <script type="text/javascript"> Vue.config.productionTip = false; new Vue({ el: "#root", data() { return { styleObj: { fontSize: "40px", color: "red", backgroundColor: "blue", }, } }, })</script>
绑定样式:
【资料图】
class 样式:
写法:
:class="xxx"
xxx 可以是字符串、对象、数组
- 字符串适用于:类名不确定,需要动态获取
- 对象写法适用于:要绑定多个样式,个数不确定,名字也不确定
- 数组写法适用于:要绑定多个样式,个数确定,名字也确定,但不确定是否需要使用
style 样式:
:style={}
对象绑定方法:style=[]
数组绑定方法,数组里面必须是存放样式的对象
九、 条件渲染
1、 渲染指令
v-if & v-elsev-show
比较 if 与 show;
- 如果需要频繁切换
v-show
较好- 当条件不成立时,
v-if
的所有节点不会解析(项目中使用)
2、 使用示例
样式绑定 <script type="text/javascript" src="../js/vue.js"></script> click me to hid,注意,只是进行隐藏,并没有完全删除 你好,这个内容是被彻底删除的 当前值是:{{num}}
点我 Angular React Vue Angular React Vue 1
1
1
<script type="text/javascript"> Vue.config.productionTip = false; new Vue({ el: "#root", data() { return { isShow: true, num: 0, } }, methods: { toHid() { this.isShow = false }, }, })</script>
十、 列表渲染
1、 基本语法
基本列表 <script type="text/javascript" src="../js/vue.js"></script> 人员列表
-
-
遍历对象:{{value}} -- {{key}}
字符串遍历
- {{char}} -- {{index}}
数字迭代
- {{value}} -- {{index}}
<script type="text/javascript"> Vue.config.productionTip = false; new Vue({ el: "#root", data() { return { persons: [ {id: "001", name: "Make", age: 17}, {id: "002", name: "Jack", age: 16}, {id: "003", name: "Neck", age: 19}, ] } }, })</script>
v-for
可以遍历数组、对象、字符串以及指定次数
2、 key原理
使用 index
作为key
时:
遍历列表中key的作用 <script type="text/javascript" src="../js/vue.js"></script> 人员列表
-
{{person.name}} + {{person.age}}
<script type="text/javascript"> Vue.config.productionTip = false; new Vue({ el: "#root", data() { return { persons: [ {id: "001", name: "Make", age: 17}, {id: "002", name: "Jack", age: 16}, {id: "003", name: "Neck", age: 19}, ] } }, methods: { addPerson() { const p = {id: "004", name: "Lisa", age: 17} this.persons.unshift(p) } }, })</script>
使用 id
这个唯一标识时:
key 的内部原理:
- 虚拟 DOM 中 key 的作用:
- key 是虚拟 DOM 对象的标识,当数据发生改变时,Vue 会根据新数据生成新的虚拟 DOM!
- 随后 Vue 进行 新虚拟 DOM与旧虚拟 DOM的差异比较
比较规则:
- 虚拟 DOM 找到了与新虚拟 DOM 相同的 key
- 若虚拟 DOM 中内容没变,直接使用之前的真实 DOM
- 若虚拟 DOM 中内容变了,则生成新的真实 DOM,随后替换掉页面中之前的真实 DOM
- 就虚拟 DOM 中未找到与新虚拟 DOM 相同的 key:创建新的真实 DOM,随后渲染到页面中
如果使用 index 作为 key 可能会引发的问题:
- 若对数据进行:逆序添加,逆序删除等破坏顺序操作:会产生没有必要的真实 DOM 更新 ==》界面效果没有问题,但效率低
- 如果结构中还包含输入类的 DOM:会产生错误的 DOM 更新 ==》 界面有问题
开发中如何选择 key?
- 最好使用每条数据唯一标识作为 key,比如 id、手机号、身份证号、学号等唯一标识;
- 如果不存在对数据的逆序添加、逆序删除等破坏顺序的操作,仅用于渲染列表用于展示,使用 index 作为 key 是没有问题的,但是不推荐。
3、 列表过滤
列表过滤 <script type="text/javascript" src="../js/vue.js"></script> 人员列表
-
{{person.name}} + {{person.age}}
<script type="text/javascript"> Vue.config.productionTip = false; new Vue({ el: "#root", data() { return { persons: [ {id: "001", name: "Make", age: 17}, {id: "002", name: "Jack", age: 16}, {id: "003", name: "Neck", age: 19}, ], keyword: "", } }, computed: { filterPerson() { return this.persons.filter((person) => { return (person.name.indexOf(this.keyword) !== -1) }) } } })</script>
这里使用的是 computed 来实现这个功能,当然,也可以使用 wacth 监视器来实现这个功能。
4、 列表排序
列表过滤 <script type="text/javascript" src="../js/vue.js"></script> 人员列表
-
{{person.name}} + {{person.age}}
<script type="text/javascript"> Vue.config.productionTip = false; new Vue({ el: "#root", data() { return { persons: [ {id: "001", name: "Make", age: 17}, {id: "002", name: "Jack", age: 16}, {id: "003", name: "Neck", age: 19}, ], keyword: "", sortType: 0, // 1 升序, -1 降序 } }, computed: { filterPerson() { const arr = this.persons.filter((person) => { return (person.name.indexOf(this.keyword) !== -1) }) // 判断这些数据是否需要排序 if (this.sortType) { arr.sort((a, b) => { return this.sortType === 1 ? a.age - b.age : b.age - a.age }) } return arr } } })</script>
5、 数组更新检测
Vue 将被侦听的数组的变更方法进行了包裹,所以它们也将会触发视图更新。这些被包裹过的方法包括:
push()
pop()
shift()
unshift()
splice()
sort()
reverse()
替换数组:
变更方法,顾名思义,会变更调用了这些方法的原始数组。相比之下,也有非变更方法,例如 filter()
、concat()
和 slice()
。它们不会变更原始数组,而总是返回一个新数组。当使用非变更方法时,可以用新数组替换旧数组:
example1.items = example1.items.filter(function (item) { return item.message.match(/Foo/)})
注意,由于 JavaScript 的限制,Vue 不能检测数组和对象的变化。深入响应式原理中有相关的讨论。
同时,也可以使用 Vue.set(target, key, value)
来替换数组里面的值:
const vm = new Vue(data() { return { arr: ["a", "b", "c"], }},)// 使用包裹方法修改数组的第一个元素:vm.arr.splice(0, 1, "d")// 使用 Vue.set 来修改数组的第一个元素Vue.set(vm.arr, 0, "d")vm.$set(vm.arr, 0, "d")
6、 大总结
大总结 <script type="text/javascript" src="../js/vue.js"></script> 学生信息
姓名:{{student.name}}
年龄:{{student.age}}
{{student.sex}}
爱好:
- {{hobby}}
朋友们
- {{friend.name}} -- {{friend.age}}
<script type="text/javascript"> Vue.config.productionTip = false; new Vue({ el: "#root", data() { return { student: { name: "Lisa", age: 17, friends: [ {name: "Jerry", age: 37}, {name: "Tony", age: 38} ], hobbies: ["C", "Python", "C#"] } } }, methods: { addSex() { Vue.set(this.student, "sex", "男") // this.$set(this.student, "sex", "男") }, addFriend() { this.student.friends.unshift({ name: "Make", age: 19, }) }, changeFriend() { this.student.friends[0].name = "张三" // 修改数组里面的对象可以被 Vue 监视到 }, addHobby() { this.student.hobbies.push("Java") }, changeHobby() { this.student.hobbies.splice(1, 1, "C++") // 使用重写后的方法,修改数组后可以被检测到 }, } })</script>
Vue 监视数据的原理:
Vue 会监视 data 中所有层次的数据
如何监测对象中的数据?
通过 setter 来实现,且要在
new Vue
时,就传入要监测的数据- 对象中后追加的属性,Vue 默认不做响应式处理
- 如需给后添加的属性做响应式,请使用 Vue 提供的
set(target, key, value)
方法
如何监视数组中的数据?
通过包裹数组更新元素的方法实现,本质就是做了两件事:
- 调用原生对应的方法对数组进行更新
- 重新解析模板,进而更新页面
在 Vue 修改数组中的某个元素一定要使用如下方法:
- 使用被包裹的 API
- 使用
set()
方法
注意:
Vue.set()
和vm.$set()
不能给 vm 或 vm 的根数据对象添加属性!!!
十一、 收集表单数据
收集表单 <script type="text/javascript" src="../js/vue.js"></script> <script type="text/javascript"> Vue.config.productionTip = false; new Vue({ el: "#root", data() { return { uerInfo: { account: "", password: "", age: "", sex: "male", // 默认为男 hobbies: ["Java"], // 默认勾选 Java city: "", others: "", agree: false, } } }, methods: { submitData() { console.log(JSON.stringify(this.uerInfo)) // 将对象装换为 JSON 格式 }, }, })</script>
收集表单数据总结:
十二、 内置指令
我们学过的指令:
指令 | 描述 |
---|---|
v-bind | 单向绑定解析表达式,可简写为 :xxx |
v-model | 双向数据绑定 |
v-for | 遍历数组 / 对象 / 字符串 |
v-on | 绑定事件监听,可简写为 @ |
v-if / v-else-if / v-else | 条件渲染(动态控制节点是否存在) |
v-show | 条件渲染(动态控制节点是否展示) |
1、 v-text
功能:向其所在的节点渲染文本内容
v-text <script type="text/javascript" src="../js/vue.js"></script> <script type="text/javascript"> Vue.config.productionTip = false; new Vue({ el: "#root", data() { return { name: "Lisa" } }, })</script>
v-text
其会替换掉标签里面的所有内容,同时其不会解析标签
2、 v-html
v-html <script type="text/javascript" src="../js/vue.js"></script> <script type="text/javascript"> Vue.config.productionTip = false; new Vue({ el: "#root", data() { return { name: "你好
" } }, })</script>
但是这个使用会比较危险,可能会受到 xss 攻击,一定要在可信的内容上使用 v-html,永远不要用在用户提交的内容上!
3、 v-cloak
v-cloak <script type="text/javascript" src="../js/vue.js"></script> {{name}}
<script type="text/javascript"> Vue.config.productionTip = false; new Vue({ el: "#root", data() { return { name: "Lisa" } }, })</script>
v-cloak 指令(没有值):
- 本质是一个特殊属性,Vue 实例创建完毕并接管容器后,会删掉 v-cloak 属性
- 使用 css 配合 v-cloak 可以解决网速慢时,页面展示出 {{xx}} 的问题
4、 v-once
v-once <script type="text/javascript" src="../js/vue.js"></script> 初始化的n值是:{{n}}
当前的 n 值是:
n = {{n}}
<script type="text/javascript"> Vue.config.productionTip = false; new Vue({ el: "#root", data() { return { n: 1 } }, })</script>
v-once 指令:
- v-once 所在节点在初次动态渲染后,就视为静态内容了
- 以后数据的改变不会引起 v-once 所在结构的更新,可以用于优化性能
5、 v-pre
v-pre <script type="text/javascript" src="../js/vue.js"></script> Vue 很简单
当前的 n 值是:
n = {{n}}
<script type="text/javascript"> Vue.config.productionTip = false; new Vue({ el: "#root", data() { return { n: 1 } }, })</script>
v-pre 指令:
- 跳过其所在节点的编译过程
- 可利用它跳过没有使用指令语法、没有使用插值语法,会加快编译速度
6、 自定义指令
6.1 示例
实例1:定义一个 v-big
指令,和 v-text
类似,但会把绑定的数值放大 10 倍
v-big <script type="text/javascript" src="../js/vue.js"></script> 当前的n值是:
放大十倍的n值是:
<script type="text/javascript"> Vue.config.productionTip = false; // 全局指令 // Vue.directive("big", (element, binding) => { // // big 函数何时调用? // // 1. 指令与元素成功绑定时会调用(初始化) // // 2. 指令所在的模板被重新解析时调用 // console.log("big", this) // 注意,此处的 this 是 Window // console.log(element, binding.value) // element.innerText = binding.value * 10 // }) new Vue({ el: "#root", data() { return { n: 0, } }, directives: { "big-number"() {}, // 当指令为 v-big-number 时的写法 big(element, binding) { // big 函数何时调用? // 1. 指令与元素成功绑定时会调用(初始化) // 2. 指令所在的模板被重新解析时调用 console.log("big", this) // 注意,此处的 this 是 Window console.log(element, binding.value) element.innerText = binding.value * 10 }, } })</script>
实例2:定义一个 v-fbind
指令,和 v-bind
功能类似,但可以让其所绑定的 input 元素默认获取焦点
v-fbind <script type="text/javascript" src="../js/vue.js"></script>
<script type="text/javascript"> Vue.config.productionTip = false; new Vue({ el: "#root", data() { return { n: 0, } }, directives: { fbind: { // 如果只写成函数形式的话,其只有 bind 和 update 功能 bind(element, binding) { console.log("指令与元素成功绑定时调用") element.value = binding.value // 把数据插入文本框内 }, inserted(element, binding) { console.log("指令所在元素被插入页面时调用") element.focus() // 获取焦点 }, update(element, binding) { console.log("指令所在的模板被重新解析时调用") element.value = binding.value }, } }, })</script>
全局指令:Vue.directive()
6.2 总结
一、 定义语法:
局部指令:
new Vue({ directives: {指令名: 配置对象 / 回调函数},})
全局指令:
Vue.drective("指令名", 配置对象 / 回调函数)
二、 配置对象中常用的三个回调:
- bind:指令与元素成功绑定时调用
- inserted:指令所在元素被插入页面时使用
- update:指令所在模板结构被重新解析时调用
三、 备注:
- 指令定义时不需要加
v-
,但是使用时需要加v-
- 指令名如果是多个单词,需要使用
kabab-case
命名方式,不要用cameCase
命名
十三、 生命周期
1、 引出生命周期
生命周期:
- 又名:生命周期函数、生命周期函数、生命周期钩子
- 是什么:Vue 在关键时刻帮助我们调用的一些特殊名称的函数
- 生命周期函数的名字不可更改,但函数的具体内容是程序员根据需求编写的
- 生命周期函数中的 this 指向是 vm 或 组件实例对象
生命周期 <script type="text/javascript" src="../js/vue.js"></script> SteveAnthony
<script type="text/javascript"> Vue.config.productionTip = false new Vue({ el: "#root", data() { return { opacity: 1, } }, mounted() { console.log("Vue 将生成的 HTML 挂载到页面中") setInterval(() => { this.opacity -= 0.01 if (this.opacity <= 0) { this.opacity = 1 } }, 16) }, })</script>
2、 分析生命周期
这是实例的生命周期。
解释图:
生命周期 <script type="text/javascript" src="../js/vue.js"></script> 当前的 n 值是:{{num}}
<script type="text/javascript"> Vue.config.productionTip = false new Vue({ el: "#root", data() { return { num: 1, } }, methods: { add() { this.num += 1 }, }, beforeCreate() { console.log("Vue 实例创建,但没有初始化数据监测和数据代理") debugger; }, created() { console.log("Vue 初始化,数据监测、数据代理") debugger; }, beforeMount() { console.log("完成模板编译,但是还没有进行页面的挂载") debugger; }, mounted() { console.log("Vue 将生成的 HTML 挂载到页面中") debugger; }, beforeUpdate() { console.log("状态更新之前执行函数,此时 data 中的状态值是最新的,但是页面上显示的数据还是旧的") debugger; }, updated() { console.log("利用刚重新渲染的内容替换之前的内容") debugger; }, beforeDestroy() { console.log("实例准备销毁,但是还没有销毁") debugger; }, destroy() { console.log("实例已经销毁,实例所有内容均不可使用") debugger; } })</script>
使用
vm.$destory()
完全想销毁一个实例,清理它与其他实例的连接,解绑它的全部指令以及事件监听器
3、 总结
常用的生命周期钩子:
- mounted:发送 Ajax 请求、启动定时器、绑定自定义事件、订阅消息等【初始化操作】
- beforeDestroy:清除定时器、解绑自定义事件、取消订阅消息等
关于销毁 Vue 实例:
- 销毁后借助 Vue 开发者工具看不到任何信息
- 销毁后自定义事件会失效,当原生 DOM 事件依然有效
- 一般不会在 beforeDestroy 操作数据,因为即便操作数据,也不会再触发更新流程了
关键词:
-
观焦点:HDFS Short-Circuit Local Reads
1、背景在HDFS中,读取操作通常是通过DataNode。因此,当客户端要读取文件时,DataNode会从磁盘上读取文...
来源: -
热消息:4月10日上市 福特F-150猛禽烈焰风暴特别版官图发布 为中国市场而
日前,福特官方正式发布了旗下的福特F-150猛禽烈焰风暴特别版官图,新车是基于现款福特F-150打造的,而...
来源: 环球观察:Vue 核心(二)
观焦点:HDFS Short-Circuit Local Reads
货币市场日报:3月27日
热消息:4月10日上市 福特F-150猛禽烈焰风暴特别版官图发布 为中国市场而
能抄底了?一汽奥迪补贴经销商清库存 明星车型降价近10万
每日看点!马云回国首谈ChatGPT:机器只有“芯”而人有“心”
国产车赢麻了!报告:中国品牌占俄罗斯新车销量近40%
焦点信息:“高端家用车”?比亚迪汉DM-i试驾 极致的油耗和空间
天天视讯!国产两轮电动车龙头!雅迪2022年营收310亿创纪录:电动自行车销量大增
焦点!通胀压力缓解避险情绪收敛 日债收益率周一全线回升
世界速读:商品日报(3月27日):沪锡领涨纯碱09合约增仓上行 苹果大幅下挫跌超4%
速读:前备箱门锁失灵?特斯拉扩大召回进口Model S
京东方iPhone 15灵动岛屏被曝漏光 苹果搬来三星救火:提前生产
天天热点评!女子赏花站梨树枝头甩衣狂摇 拍摄者:花瓣掉落一地
观热点:女子吃自助餐将店内甲鱼煮食 网友:是个狠人
乌鲁木齐周生生黄金价格多少钱一克(2023年3月27日)
新动态:CodeIgnitor 3.0.x 之 db 类实现机制
第一次博客
环球热点评!小皮Windows web面板漏洞详解
世界观速讯丨【原型设计工具】上海道宁为您提供Justinmind,助力您在几分钟内形成原型,并现场测试,无需编写任何代码
女生从俄罗斯花2分钟回国吃麻辣烫 挑战全网最短留学距离:网友感慨真近
环球观点:文心一言升级版!百度发布企业级大模型服务平台“文心千帆”
当前速讯:太危险!女子驾驶保时捷玩具车上机动车道吓坏路人:自称为了好玩
承认造假丑闻!百年日企川崎重工形象崩塌:鞠躬道歉
资讯推荐:男子跑滴滴1单挣了3148元:光等待费就两千多元
环球要闻:从GPT-4、文心一言再到Copilot,AIGC卷出新赛道?
即时:【必须收藏】别再乱找TiDB 集群部署教程了,这篇保姆级教程来帮你!!| 博学谷狂野架构师
当前关注:C#多态性学习,虚方法、抽象方法、接口等用法举例
python中index()、find()方法
每日视点!便宜香港主机推荐
环球速递!秒变大屏平板!三星将推新款折叠手机:双铰链、三折叠
天天报道:专家评中国为何没跟上ChatGPT浪潮:0-1的事情没人做
电动车价格还得降 宁德钠离子电池今年量产:高寒地区突出优势
广汽埃安新车慢充失灵 车主:4S店给补偿 但协议他不想签
天天热推荐:日本声优网络发文吐槽外送被打翻 网友:小心隐私
天天精选!批量上传iOS应用程序截图的实用技巧
天天热头条丨OPPO发布新机|无感验证护航“黄牛党”退退退!
环球滚动:易基因:肠道菌群:早产儿出生后不同时间点肠道微生物定植的动态变化|项目文章
快播:Qt 博客汇总
天天热推荐:图片识别文字(批量图片文字查找分类)
普京称嫉妒的人才说俄依赖中国 欧洲应该想想自己
科创板收盘播报:科创50指数探底回升跌0.33% 软件服务类个股表现强势
甲醛滤芯永不更换!米家全效空气净化器评测:不仅除尘、还能杀死H1N1病毒
顺丰开通贵州茅台首条全货机航线 10余吨酒、茶特产首飞成功
每日资讯:飞机航班为何不卖站票?大V科普:并非航空公司良心
罕见5风扇设计!铭瑄RTX 4070 Ti MGG OC12G显卡图赏
三电升级、寿命翻倍!绿源液冷2.0系统升级上线:能骑十年
Transformer详解
全球速递!解决google翻译出错问题
世界通讯!【高端访谈】“开放的中国大市场蕴藏更多新机遇”——访马士基首席执行官柯文胜
以铜之名尽显千年风流
全球信息:打造中国ChatGPT 搜狗输入法之父马占凯加入王慧文AI团队
独一无二木星纹理见过么?一加11推出木星岩限定版:100%手工挑选
环球快看:曾被宣布“野外灭绝” 长江鲟时隔23年首次自然产卵
当前速读:ubuntu 使用vsftpd搭建FTP服务器
全球热议:6.824-lab2-Raft简述
环球滚动:Template模板类
全球讯息:【Visual Leak Detector】配置项 VLD
【速看料】火山引擎 DataTester:构建增长闭环,3-5 人即可搭建企业增长团队
【新要闻】曾因配料“双标”遭网友痛批 好丽友漏税22万被罚12万
全球时讯:空姐为美容注射玻尿酸:打进血管 险丧命
三星W799哪年上市的?三星W799可以安装微信吗?
诺基亚920还能用吗?诺基亚920手机参数
英雄联盟手游大师多少颗星上宗师?英雄联盟几级可以组队匹配?
总线上的音频设备前是感叹号是什么原因?总线上的音频设备前是感叹号怎么处理?
华为合约机是什么意思?华为合约机和官方标配区别有哪些?
C#遍历指定文件夹中所有文件的3种方法
天天热议:Sed 备忘清单_开发速查表分享
史上最严奶粉新国标实施逾月 贝因美又一款二注奶粉上新 哪些信号值得关注?
热推荐:甘肃将为兰州牛肉拉面立法 网友:建议牛肉有重量标准
热点在线丨《原神》地位不保?开放世界游戏《鸣潮》实机画面公布
环球简讯:曹德旺:大学生去送外卖 和在学校没学到东西有关
任性钻“夹缝”被撞旋转1080° 司机甩锅:都怪后车开太快了
当前快播:判赔370万!中创新航回应不正当竞争案判决:未曾挖角宁德时代 将上诉
天天百事通!OpenIddict使用教程
流量分析入门
全球观速讯丨MySql随笔记基础
【高端访谈】强化城投债与量化领域主动管理 打造私募“固收+”独特策略——专访国恩资本董事总经理杨先哲
通讯!旃怎么读音(旃怎么读)
36年前电脑用上AI:IBM 5155运行ChatGPT是什么样?
环球看热讯:清晰度和功耗完美平衡!真我GT Neo5系列宣布告别1080P:普及1.5K屏
罕见!超级火流星划过北京夜空被拍下:彩色拖尾 爆裂闪光
每日快讯!《生化危机4:重制版》阿什莉模型展示:物理晃动效果很优秀
全球快看点丨车评人曝奔驰4S维修黑幕:一个迈巴赫大灯小20万 故意损坏夸大车损
即时:数据库系统原理之SQL与关系数据库基本操作
每日焦点!【解答】如何保障ETL过程的数据正确性。这个过程会产生哪些问题?
世界要闻:DHCP snooping
全球快播:SSH配置别名登录
天天快报!越来越没人买了?雷克萨斯国内销量出炉:同比爆降36%
女子给猴子喂食被掌掴 景区回应:含保险、打疫苗可理赔
全球看热讯:去年火遍全网!贵州“村BA”现场水泄不通:村草村花“蹦苗迪”
热资讯!最高等级!英国最大陆上油田漏油:已成立黄金指挥部
头条焦点:消息称百度文心一言云服务发布会取消:延期对外发布
焦点快看:2023年底产能破30GW!协鑫集成阜宁12GW组件项目开工 -->
Spring源码核心剖析
焦点热门:计算机解决高中离子浓度计算
最新资讯:微软或提高Win12升级门槛:SSD成为刚需
19.48万元起 国产豪华轿车红旗H6预售:双中置排气着实罕见
焦点速看:赵长江:腾势D9新增订单一天破500台!别克GL8危险了
【世界播资讯】只差价格了 Redmi新机爆料汇总 1999元起交个朋友?