1

我的问题是在使用 canJS Observable 时我不能在对象键中使用点,因为可以认为这里有一些嵌套可用。

因此,假设我创建了新的 observable:

var obs = new can.Observe( { "div.test-class": { "color": "#000000;" } } );

可能会失败并显示消息

can.Observe: Object does not exist

而且我不能只使用

var obs = new can.Observe( { ".test-class": { "color": "#000000;" } } );

因为现在可能会失败并出现以下错误:

TypeError: current._set is not a function

使用以下代码创建 observable

var obs = new can.Observe( { "div": {}, "div.test-class": { "color": "#000000;" } } );

完美运行,但我不需要嵌套,并且可以尝试嵌套test-classdiv内部 observable 中。

那么,有什么想法可以实现我所需要的吗?

4

1 回答 1

2

这确实是一个错误,并已在 1.1.5 版本中修复。现在的一般规则是:

var obs = new can.Observe( { "div": {}, "div.test-class": { "color": "#000000;" } } );

将创建您期望的观察。将对象传递给.attr喜欢

obs.attr({ 'my.test': 'testing' });

还将设置my.test为属性。将它作为二传手传递

obs.attr('my.test', 'testing');

将设置{ my: { test: 'testing' } }

于 2013-04-23T13:36:08.100 回答