由AI生成的相关总结,作者修正
对目标的承诺是基本要求
Vue是一个MVVM框架,即数据双向绑定,即当数据发生变化的时候,视图也就发生变化,当视图发生变化的时候,数据也会跟着同步变化。这也算是Vue的精髓之处了。值得注意的是,我们所说的数据双向绑定,一定是对于UI控件来说的,非UI控件不会涉及到数据双向绑定。
该文档要做的就是实现了一个自定义Vue,逐步实现了数据的双向绑定,即数据驱动视图,视图驱动数据
自定义HTML界面
内部的界面形式采用Vue中的双向绑定的书写模式
一个Script标签引入Vue脚本,另一个Script标签写入标准的Vue2格式代码
html<!-- index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
<span>打工人: {{name}}</span>
<input type="text" v-model="name" />
<span>工资:{{more.salary}}</span>
<input type="text" v-model="more.salary" />
</div>
</body>
</html>
<script src="./Vue.js"></script>
<script>
const vm = new Vue({
el: '#app',
data: {
name: '西维',
more: {
salary: 1000
}
}
})
console.log(vm)
</script>
Vue.js脚本内部声明一个Vue实例,使用Vue惯用的$data
和$el
挂载数据和模版实例
js// Vue.js
class Vue{
// 接收两个参数:模板(根节点),和数据对象
constructor(options) {
// 在vm中加入$data属性,挂载数据
this.$data = options.data;
}
}
此时启动页面,在浏览器的log界面中,我们就可以看到如下内容:
自1960年代末开始以来,3D扫描突飞猛进,彻底改变了我们创建真实世界物体和环境的数字模型的方式。虽然很容易考虑它在建筑、工程和游戏等领域的使用,但实际应用要广泛得多。2023年,医学、教育甚至艺术史等各个领域都在使用3D扫描技术来颠覆和推动他们的行业。
如果您刚刚开始3D扫描,您可能已经遇到过一些用于保存和共享模型的各种文件格式。两种最流行的格式是glTF和GLB。如果此时你挠头想,“嗯?”,别担心——事情会变得不那么复杂。
设计一个方法,检查对象一是否是对象二的子集
jsfunction checkIsChildObject(a, b) {
// 要写的算法
}
const obj = {
a: 0,
c: '',
d: true,
e: {
f: 1,
h: {
e: 0,
f: 2,
},
},
};
console.log(checkIsChildObject({a: 0}, obj)); // true
console.log(checkIsChildObject({e: 0}, obj)); // true
console.log(checkIsChildObject({s: 0}, obj)); // false
console.log(checkIsChildObject({a: 0, c: ''}, obj)); // true
console.log(checkIsChildObject({a: 0, e: 0}, obj)); // false
console.log(checkIsChildObject({e: {f: 1}}, obj)); // true
console.log(checkIsChildObject({e: {f: 2}}, obj)); // false
console.log(checkIsChildObject({h: {e: 0, f: 2}}, obj)); // true
console.log(checkIsChildObject({h: {f: 2, e: 0}}, obj)); // true