给模型添加ORM,与持久化记录
![](/assets/blank.gif)
var Model = {inherited:function () {},created:function () {},prototype:{init:function () {}},//给类添加属性extend:function (obj) {var extended = obj.extended;for (var i in obj) {this[i] = obj[i];}if (extended) extended(klass);},//给实列添加属性include:function (obj) {var included = obj.included;for (var i in obj) {this.prototype[i] = obj[i];}//触发回调if (included) included(klass);},create:function () {//子类 返回一个新对象,继承自model对象,创建新模型var object = Object.create(this);//指向父类object.parent = this;//子类原型方法object.prototype = object.fn = Object.create(this.prototype);object.created();this.inherited(object);return object;},init:function () {//返回一个新对喜爱那个,继承自model.prototype -> model对象的一个实例var instance = Object.create(this.prototype);instance.parent = this;instance.init.apply(instance, arguments);return instance;}}//保存资源对象 Model.records = {};//持久化记录 Model.include({newRecord:true,create:function () {this.newRecord = false;this.parent.records[this.id] = this;},destroy:function () {delete this.parent.records[this.id];},update:function () {this.parent.records[this.id] = this;},save:function () {this.newRecord ? this.create() : this.update();},find:function (id) {return this.records[id];}})//继承的父类model的一个构造函数 var Asset = Model.create();//实例对象 var asset1 = Asset.init();asset1.name = "Aaron-1"; asset1.id = 1; asset1.save();var asset2 = Asset.init();asset2.name = "Aaron-2"; asset2.id = 2; asset2.save();console.log(asset1 )
![](/assets/blank.gif)
本文转自艾伦 Aaron博客园博客,原文链接:http://www.cnblogs.com/aaronjs/archive/2012/08/24/2654441.html,如需转载请自行联系原作者
给模型添加ORM,与持久化记录相关推荐
- Django–模型层orm查询
文章目录 Django–模型层orm查询 一.单表查询(增.删.改.查) 基本查询 下划线查询 二.外键字段(增.删.改.查) 一对多 多对多 三.多表查询 多表查询的方式 正反向的概念 基于对象的跨 ...
- Django ORM 查询重复记录并显示
文章目录 Django ORM 查询重复记录并显示 废话不谈,两横一竖开始 开始正题 下午继续vue Django ORM 查询重复记录并显示 写了简单的项目信息录入系统,让同事便于录入. 同事要求 ...
- 【Three.js】解决使用Three.js导入obj模型不可见问题详细记录
问题描述: 近期在做三维重建项目,需要把最终生成的obj文件导入到web端浏览,这里使用的是three.js(另一个是babylon.js),但博主发现导入meshlab生成的obj时无法显示模型,但 ...
- php中添加访问器,php – 结合访问器和mutator逻辑,为模型添加自定义属性
以下是向模型添加自定义属性的示例. $appends数组将添加这些.在使用eloquent查询表时,将调用相应的getter来设置值. 在以下代码片段中,"parent_name" ...
- 批量添加DNS的A记录和PTR记录
批量添加DNS的A记录和PTR记录 搞SQL Server集群难免要搞域控制器,搞域控制器就不得不提DNS服务器,但DNS不只是为域服务,还可以作为ESX服务器所需的DNS服务器来复用,于是涉及到如何 ...
- IE8下JQuery clone 出的select元素使用append添加option异常解决记录
IE8下JQuery clone 出的select元素使用append添加option异常解决记录 参考文章: (1)IE8下JQuery clone 出的select元素使用append添加opti ...
- python画cpk图_TensorFlow——Checkpoint为模型添加检查点的实例
1.检查点 保存模型并不限于在训练模型后,在训练模型之中也需要保存,因为TensorFlow训练模型时难免会出现中断的情况,我们自然希望能够将训练得到的参数保存下来,否则下次又要重新训练. 这种在训练 ...
- 3dmax给模型添加渐变背景有哪些方法
3dmax给模型添加渐变背景有哪些方法 3dmax软件给模型添加渐变背景有什么方法?3dmax软件模型制作完成后,渲染模型背景黑色的居多.为了让模型更加逼真,我们也可以将背景颜色改为渐变背景.那么,今 ...
- Unity给模型添加逼真效果材质
一.给模型添加多维材质 1.使用maya导入模型. 2.打开Hypershade窗口 3.新建材质 4.选中材质,右键选择重命名,输入材质名. 5.在模型中选中面. 6.选中材质,点击[为当前选择指定 ...
最新文章
- 【BZOJ1085】【SCOI2005】骑士精神 [A*搜索]
- finite state machine drawer online
- 第一次离线写Blog,先上个图先
- php遍历视频文件,php使用glob函数遍历文件和目录详解
- P3321 [SDOI2015]序列统计(未解决)
- Java中complex怎么被调用_java中存在三种调用机制
- 牛客网暑期ACM多校训练营(第四场): B. Interval Revisited(DP)
- 桌面虚拟化之用户体验篇
- linux将字符串改大写,【已解决】makefile中把字符串转换为小写或大写
- K-mer频率分布图代码实现
- [学习]JavaScript设计模式——Revealing Module(揭示模块)模式
- HTML+CSS项目总结(建议学习三周后)
- 5个流行的开源HIDS系统介绍
- 类同属性不为null 拷贝赋值
- fcitx输入法代码分析总结
- The Open Group中国首届线上大会 专场三亮点解读
- 物理模拟与taichi编程实现
- 事业单位计算机操作专业技术分析面试题,事业单位面试:历年面试试题解析(四)...
- 使用 MsTimer2 库
- vue + moment.js 自己写日历
热门文章
- linux开发板最好芯片,既然是中国十大最有影响力的芯片之一 一定要有个好开发板...
- 二维 均值方差高斯分布图 python_PRML笔记 第二章 (多维)高斯分布
- python编程广告_为什么铺天盖地都是Python的广告?
- 彼聆智能语音机器人_南昌智能语音机器人作用
- 学php什么自考专业,什么自考专业容易过自学考试哪些专业好考(已帮助356690人)...
- mysql有则修改无则添加_通过sql实现无则插入有则修改(MySQL)
- linux简单好玩的命令,有趣的Linux命令行玩法 cal
- 电梯java_基于Java的电梯系统
- html中哪些属于块级标记,html行级标记和块级标记都有哪些?
- python实战经典例子_Python入门经典实例