访问/设置观察员物业以点在JSViews名称(Access/Set an Observer Prop

2019-10-20 03:00发布

我相信,标题和我的简化的jsfiddle举例说明了我的困境。

基本上我处理包含文件夹和文件,它们都具有动态属性名称非常大的多维与观察者对象。

当涉及到使用观察者setProperty()函数,我在努力找到一种方法,在诸如“file.png”在名称中一个点的属性使用。 这显然是因为当句号出现在集合属性路径JSViews认为它是在对象树更深了一步。

又名:

path.fileWithoutExt.attrs =作品。

path.fileWithExt.png.attrs =失败。

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

root.path.[file.dot].more

要么:

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

Answer 1:

不能在像路径传递"object['keyName'].foo"作为第一个参数setProperty 。 (即参数不期望简单地点分隔的路径)。

但你并不需要。 只需通过实际的对象$.views.observable(...)那么你只需要到叶属性名传递给setProperty

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

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



Answer 2:

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



文章来源: Access/Set an Observer Property With a Dot in the Name in JSViews