javascript - CanJS Observable 和键中的点

标签 javascript observable canjs

我的问题是在使用 canJS 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

使用以下代码创建可观察对象

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

工作完美,但我不需要嵌套,并且可以尝试将 test-class 嵌套到 observable 内的 div 中。

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

最佳答案

这确实是一个错误 and has been fixed in version 1.1.5 .现在的一般规则是:

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

将创建您期望的结果。将对象传递给 .attr,例如

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

还将设置 my.test 作为属性。像 setter 一样传递它

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

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

关于javascript - CanJS Observable 和键中的点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13529342/

相关文章:

javascript - html 表单和 javascript

javascript - 嵌套的可观察对象仅在超时后传播错误

javascript - Angular 6 HTTPClient 和 Observable

javascript - 将 EJS 中的列表迭代限制为前 50 条记录

javascript - undefined 不是 canjs 中的函数

javascript - 鼠标悬停或 onclick 事件不适用于 dc.js 中的散点图

javascript - DOCTYPE 仅与标记相关还是与 DOM 相关?

javascript - JSON "SyntaxError: Unexpected token ' &'. Expected a property name."

javascript - 类型 'campanha' 上不存在属性 'DisputaComponent[]' - Angular 2

javascript - 使用 requirejs 从不同文件(模块)访问变量