Emberjs中对 model 实例的一些操作

17 篇文章 0 订阅
10 篇文章 0 订阅

Emberjs 中 model 相关的操作

如果使用 Ember Data 作为项目中的数据处理的话,关于record 的操作是经常会有的,就常用的操作的API 以及 相关的属性做一下学习总结

Creat New Record

在工作中,免不了要在客户端创建 record:

//	route.js
//	...
	actions: {
		createNewRecord() {
			this.get('store').createRecord('post', {
				'title': 'frontend',
				'writedTime': new Date()
			})
		}
	}

这样,当触发 createNewRecord() 这个动作的时候,就会调用 createRecord() 这个函数在本地创建一条新的postrecord.
我们也可以在ember inspertor中看到我们创建的record,但是当我们刷新后,这个新创建的 record将会消失,原因也不难理解,因为我们没有将此 record 上传到数据库中,所以,我们需要使用:

//	route.js
//	...
	actions: {
		createNewRecord() {
			let post = this.get('store').createRecord('post', {
				'title': 'frontend',
				'writedTime': new Date(),
				'like': 0
			});
			post.save();
		}
	}

这里可以看到createRecord() 这个函数返回的是一条 record
而此时save()函数是向服务器发送了一条 POST 请求,请求地址为 ’posts‘,携带的data即为createRecord() 方法的第二个参数。返回的是一个 promise 。

Update Record

在工作中,我们也会遇到需要在客户端对 record 进行更新的操作,那我们就可以:

//	route.js
	actions: {
		updateExistRecord(id) {
		this.get('store').findRecord('post', id).then(record => {
			record.set('title','Be a good frontEnd enginer');
			record.save();
		});	
		}
	}

代码很清楚,基本上就是说通过id获取到某一record,对它进行更新,然后使用 save()函数向服务器发送PATCH请求,请求的地址将是'/posts/id'
从上面两个我们可以看出save()这个函数主要负责的是向服务器发送 record的相关状态及内容,当record 为船新的时候,发送的是 POST请求,当更新已经存在的 record的时候,发送的是PATCH请求。

确认record是否有修改

未晚待续。。。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值