我已经看到了非常类似的问题,但我不能确定他们是否得到了明确的回答 - 也许我有点密集,对不起.
我想拥有自己的对象的方便性(和清晰度),称之为CardboardBox().它不包含代码,只包含数据.我想将它写入数据库并稍后再读回来,但很明显,它是一种类型,Object()当它被回读时.我能想到的只是找出它曾经是:
type我设置为CARDBOARD_BOX 的成员变量CarbardBox()并使用一个函数(在框中)将属性复制Object()到新CardboardBox()对象有没有更好的方法呢?我很确定我可以改变实际类型.
function CardboardBox() {
this.type = "CARDBOARD_BOX"
this.name = "No set";
this.populate = new function(obj) {
// populate this object with obj properties
}
var box = new CarboardBox(); // CarboardBox
box.name = "My Box";
send = JSON.stringyfy(box);
.
.
.
obj = JSON.parse(send); // Object
if (obj.type == "CARDBOARD_BOX") {
savedBox = new CardboardBox();
savedBox.populate(obj);
}
Run Code Online (Sandbox Code Playgroud)
提前谢谢......史蒂夫
[编辑]我的测试代码. …
多年来,这已经被问过很多次,但从未见过真正的答案。
我想将一些开源代码作为子模块添加到我现有的项目中,但我只能使用特定的提交 SHA1。
我已经建立了一个例子来演示这个问题。
所以,我的主要项目是:
https://github.com/BitvuLtd/myProj
Run Code Online (Sandbox Code Playgroud)
如您所见,该项目中有一个子模块指向:
https://github.com/BitvuLtd/strangersPro/tree/bd06980e0d711348bc7831f6421b3c5b27948781
Run Code Online (Sandbox Code Playgroud)
我想指出该行的下一个提交:
https://github.com/BitvuLtd/strangersPro/tree/1463dd07645ce4e0450aabaa952b4c657d
我不想要最新的提交,因为它不兼容。
我最接近的是能够使用以下命令在子模块的单独克隆副本中检出正确的提交:
git checkout 1463dd07645ce4e0450aabaa952b4c657d16da39
Run Code Online (Sandbox Code Playgroud)
但是如果我在主项目的子模块目录中这样做,它会得到:
fatal: reference is not a tree: 1463dd07645ce4e0450aabaa952b4c657d16da39
Run Code Online (Sandbox Code Playgroud)