1

我相信标题和我简化的jsFiddle 示例解释了我的困境。

基本上我正在处理一个非常大的多维观察者对象,其中包含文件夹和文件,所有这些都具有动态属性名称。

在使用 ObserversetProperty()函数时,我正在努力寻找一种方法来在名称中带有点的属性上使用它,例如“ file.png ”。这显然是因为当句号出现在设置的属性路径中时,JSViews 认为它​​在对象树中更深了一步。

又名:

path.fileWithoutExt.attrs= 工作。

path.fileWithExt.png.attrs= 失败。

所以我的问题是“有没有办法实现属性设置,还是不可能或功能要求? ”可能是这样的:

root.path.[file.dot].more

或者:

root.path.{{file.dot}}.more
4

2 回答 2

0

path["fileWithExt.png"].attrs = 工作。

于 2014-05-12T13:12:32.317 回答
0

你不能像"object['keyName'].foo"第一个参数一样传入路径setProperty。(该参数确实需要简单的点分隔路径)。

但你不需要。只需将实际对象传递给$.views.observable(...)然后您只需将叶子属性名称传递给setProperty

$.observable( files.images[n] ).setProperty( 'modified', 'Modified!' );
$.observable( files.images[n] ).setProperty( 'alias', a ); 

更新了 jsfiddle:所有三个工作...

于 2014-05-13T18:05:24.360 回答