dexteryy / CardKit

A mobile UI library provides a series of building blocks which are all components built on DarkDOM and Moui.
http://ozjs.org/CardKit
703 stars 141 forks source link

modal 远程载入数据的 API 设计 #5

Closed ktmud closed 11 years ago

ktmud commented 11 years ago

现在只支持 json 和 text content ,分别用了 data-url 和 data-json-url ,如果要支持 jsonp ,是不是还要用加一个 data-jsonp-url 呢?

我看了下代码里的实现,要新加一个类型还挺麻烦的。

是否可以重构成 data-url 和 data-type 两个属性?

dexteryy commented 11 years ago

现在的实现里,data-url 和 data-json-url 都是用 mo/network 里的 ajax 方法来处理的,其实是这个地方没做好,对 data-json-url 应该用 getJSON 方法,它会自动在 json 类型的 ajax 和 jsonp 之间切换(而后端对于 json 接口总是应该同时提供 jsonp 支持),所以并不需要新增 data-jsonp-url。

至于 data-type 什么的不太好,不应该把内部实现里需要的参数无限的暴露到上层的配置里,比如 getJSON 还有可能需要 callbackName、random 之类的参数,是不是也增加 data-callback-name 和 data-random 呢,其实对这些需求更适合用『组合』的方式来实现,有这种需求的使用者可以用 modalView 的API组合出一个新的实例,cardkit/view/modalcard 也只是这些组合之一,默认提供的最常用模式而已

ktmud commented 11 years ago

ok got

在 2013年7月4日星期四,Dexter.Yy 写道:

现在的实现里,data-url 和 data-json-url 都是用 mo/network 里的 ajax 方法来处理的,其实是这个地方没做好,对 data-json-url 应该用 getJSONhttps://github.com/dexteryy/mo/blob/master/network.js#L57方法,它会自动在 json 类型的 ajax 和 jsonp 之间切换(而后端接口其实总是应该同时提供jsonp支持),所以并不需要新增 data-jsonp-url。

至于 data-type 什么的不太好,不应该把内部实现里需要的参数无限的暴露到上层的配置里,比如 getJSON 还有可能需要 callbackName、random 之类的参数,是不是也增加 data-callback-name 和 data-random 呢,其实对这些需求更适合用『组合』的方式来实现,有这种需求的使用者可以用 modalView 的API组合出一个新的实例,cardkit/view/modalcard 也只是这些组合之一,默认提供的最常用模式而已

— Reply to this email directly or view it on GitHubhttps://github.com/douban-f2e/CardKit/issues/5#issuecomment-20453105 .