一个关于 underscore 的错误

2014-05-22 19:07:23 +08:00
 lococo
http://stackoverflow.com/questions/23799571/typeerror-invalid-in-operand-n

今天遇到一个问题,调了半天没调出来, 就放在stack上问了一下,结果还是没有结果!!各位大神求解救!!!
3266 次点击
所在节点    程序员
15 条回复
czheo
2014-05-22 19:15:00 +08:00
日期不加引号?
lococo
2014-05-22 19:16:22 +08:00
@czheo 啊?哪个日期?都有加呀
czheo
2014-05-22 19:18:20 +08:00
switch里面的周一到周日
lococo
2014-05-22 19:23:57 +08:00
对哦…好低级的错…但是这个应该不是主要原因…success没有出来就说明initialize没有进去
jsonline
2014-05-22 19:23:57 +08:00
你先用 JSHint检查下吧
lococo
2014-05-22 19:24:22 +08:00
@jsonline 用了呢…no error
lococo
2014-05-22 20:04:23 +08:00
解决了
好像是因为view的initialize不能传两个特殊参数进去
jerray
2014-05-22 22:22:48 +08:00
用得有问题吧?!建议仔细看下文档。

new一个view的时候第一个参数应该是一个object,backbone会把这个object内的model, collection, el, id, className, tagName, attributes和events直接绑定到这个view上。相应的,initialize接收的第一个参数也是这个object。
lococo
2014-05-23 14:00:47 +08:00
@jerray 诶?你在哪里看到的呀?我在Backbone API里看到的没有这么说诶
jerray
2014-05-23 14:10:27 +08:00
@lococo http://backbonejs.org/#View-constructor 也可以看一下源码里Backbone.View的实现
lococo
2014-05-23 15:25:38 +08:00
@jerray 对呀`` 我也是看得这里诶,它只是说special option的时候会被绑定,但是没有说不能传非special option进去呀
livelazily
2014-05-23 16:45:01 +08:00
@lococo View的第一个入口参数必须是一个Object,例如
new DayView({otherParam1: value1}, otherParam2, otherParam3);
lococo
2014-05-23 19:10:28 +08:00
@livelazily 嗯…好像是这样…那里可以看到呀…文档里都没有这么说明
livelazily
2014-05-24 11:58:38 +08:00
@lococo 文档上貌似没有具体的类型说明,大多顾名思义,options一般就是一个对象.
实在想知道具体类型,只能看源码:
View 的构造函数对 options 调用了 _.pick(),
_.pick() 只能对 Object 使用; Array 也不会报错,但没效果;其它类型就会报错
lococo
2014-05-25 02:15:30 +08:00
@livelazily 么么大……非常感谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/113810

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX