run27017 最近的时间轴更新
run27017

run27017

V2EX 第 310142 号会员,加入于 2018-04-20 11:11:48 +08:00
前端的小伙伴进来
分享创造  •  run27017  •  2021-09-12 12:33:46 PM  •  最后回复来自 weddingSurger
25
听说安卓的碎片化比较严重,那么最佳的消息推送方案是什么?
Android  •  run27017  •  2021-01-12 15:14:41 PM  •  最后回复来自 zoloon
37
征集一下 Web API 接口不规范的地方
问与答  •  run27017  •  2020-10-20 16:50:16 PM
现在买一台 i5 标压处理 i5 器的笔记本这么难吗?
硬件  •  run27017  •  2019-11-08 11:22:03 AM  •  最后回复来自 run27017
20
分享和开源一个我做的传图小程序
分享创造  •  run27017  •  2019-11-01 23:57:17 PM  •  最后回复来自 baoshu
5
发布一个写爬虫时能用到的代理池项目
分享创造  •  run27017  •  2019-10-23 12:02:01 PM  •  最后回复来自 run27017
4
微信照片墙分享小工具
分享创造  •  run27017  •  2018-09-30 13:54:12 PM  •  最后回复来自 iyg429
1
run27017 最近回复了
2021-09-10 20:40:52 +08:00
回复了 run27017 创建的主题 分享创造 前端的小伙伴进来
@luxTao 感谢关注
2021-09-02 10:32:59 +08:00
回复了 run27017 创建的主题 分享创造 前端的小伙伴进来
@phpuser 赞一个,那年的 Angular 是真的火
2021-09-01 16:57:37 +08:00
回复了 run27017 创建的主题 分享创造 前端的小伙伴进来
@hhjs 由于现在实现的功能有限,所以几乎没有带来额外的复杂度。因为前端至少需要组织调用 API,不大可能在视图组件里充斥着各种 axios 调用,除非项目小到没几个接口要调的程度。既然都已经在组织 API 了,何不尝试一下用库简化工作量,并且还能带来额外的功能呢?

如果觉得复杂了,问题可能出现在两点:

1. Model.extend 语法让人感觉不自然了。用 Model.extend 是一来是迫不得已的选择,要考虑到实现的干净而没有考虑调用的自然;另一来是与 Vue.extend 很像,我原以为大家会接受这种方式。
2. 我的文档写得不够好,让人觉得复杂了。

我想问题可能出现在一吧。
2021-08-31 21:49:33 +08:00
回复了 run27017 创建的主题 分享创造 前端的小伙伴进来
@shunia 你的每个建议都挺好的,我会在后续的版本里考虑添加进去。由于你提的问题有些多,我还是一个一个来回复,一个问题没弄清楚之前就不继续回答另一个了。

我按照回复起来从简单到难的顺序。5 和 6 可以一起作答。const user = new User({name, age}) 这种形式,嘿嘿,有的,文档开头的示例也有提到。这里就带来了 `this.attributes` 的用法了,你看看能不能接受。

批量设置属性有两种形式,第一种是通过构造函数:

const user = new User({ name, age })

第二种是先从某处获得了模型实例,然后再批量设置属性:

const user = User.find(id)
user.attributes = { name, age }

其实 this.attributes 就是 user.attributes 了,只不过是用在方法里,引用实例要用到 this.

另一个问题是 save 实现在静态方法里,由于我所做的只是薄封装,具体实现还是需要用户自己来的,所以将 save 实现在静态方法是可以的,像这样

static: {
async save (user) {
const attrs = await axios.put('/user', user.attributes)
return new User(attrs)
}
}

与实现为实例方法的比较

actions: {
async save () {
const attrs = await axios.put('/user', this.attributes)
this.attributes = attrs
}
}

以及它们的调用比较:

static => User.save(user)
instance => user.save()

我个人是倾向于后者了。至于每个人具体用哪种,见仁见智。
2021-08-31 09:57:01 +08:00
回复了 run27017 创建的主题 分享创造 前端的小伙伴进来
@molvqingtai 如果有时间的话,我去整个示例,会更清楚点
2021-08-31 09:56:12 +08:00
回复了 run27017 创建的主题 分享创造 前端的小伙伴进来
@qin20 不是 GraphQL
2021-08-31 09:55:33 +08:00
回复了 run27017 创建的主题 分享创造 前端的小伙伴进来
@shadowfish0 Thank you
2021-08-30 18:08:01 +08:00
回复了 run27017 创建的主题 分享创造 前端的小伙伴进来
@ss098 Relation 部分我目前还没太想明白,主要是后端接口太五花八门了,没有一套统一的标准。怎么统一定义和实现它还没想好。
2021-08-30 18:05:10 +08:00
回复了 run27017 创建的主题 分享创造 前端的小伙伴进来
@zitup 你好,关于使用场景,可以看一下这一节:[开发理念]( https://github.com/yetrun/ar-front#%E5%BC%80%E5%8F%91%E7%90%86%E5%BF%B5).
2021-08-30 12:53:04 +08:00
回复了 firhome 创建的主题 程序员 手持 iphoneX, 2021 年 9 月该换什么手机?
我的 iPhone 8 Plus,电池健康 73%,不打算换。看来还是大号耐用。
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1459 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 20ms · UTC 17:11 · PVG 01:11 · LAX 09:11 · JFK 12:11
Developed with CodeLauncher
♥ Do have faith in what you're doing.