我相信标题&我简化的jsFiddle Example解释了我的困境。
基本上我正在处理一个非常大的&包含文件夹的多维观察者对象&所有文件都有动态属性名称。
当谈到使用Observer setProperty()
函数时,我很难找到一种方法来使用名称中包含点的属性,例如" file.png &#34 ;.这显然是因为当完整停止出现在set属性路径中时,JSViews认为它是对象树中更深层的一步。
又名:
path.fileWithoutExt.attrs
=工作。
path.fileWithExt.png.attrs
=失败。
所以我的问题是" 有没有办法实现属性设置,或者是不可能或功能请求?"可能是这样的:
root.path.[file.dot].more
或:
root.path.{{file.dot}}.more
答案 0 :(得分:0)
path["fileWithExt.png"].attrs
=工作。
答案 1 :(得分:0)
您无法将"object['keyName'].foo"
之类的路径作为setProperty
的第一个参数传递。 (该参数确实只需要以点分隔的路径)。
但你不需要。只需将实际对象传递给$.views.observable(...)
,然后您只需将叶属性名称传递给setProperty
:
$.observable( files.images[n] ).setProperty( 'modified', 'Modified!' );
$.observable( files.images[n] ).setProperty( 'alias', a );
Updated jsfiddle:这三项都有效......