Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在JSViews中访问/设置名称中带有点的Observer属性_Javascript_Jquery_Jsviews - Fatal编程技术网

Javascript 在JSViews中访问/设置名称中带有点的Observer属性

Javascript 在JSViews中访问/设置名称中带有点的Observer属性,javascript,jquery,jsviews,Javascript,Jquery,Jsviews,我相信这个标题&我的简化解释了我的困境 基本上,我处理的是一个非常大的多维观察者对象,其中包含文件夹和文件,所有这些都有动态属性名 当谈到使用Observer setProperty函数时,我正在努力找到一种方法来在名称中带有点的属性(如file.png)上使用它。这显然是因为当设置属性路径中出现句号时,JSViews认为它是对象树中更深的一步 又名: path.fileWithoutExt.attrs=Works path.fileWithExt.png.attrs=失败 所以我的问题是,有没

我相信这个标题&我的简化解释了我的困境

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

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

又名:

path.fileWithoutExt.attrs=Works

path.fileWithExt.png.attrs=失败

所以我的问题是,有没有一种方法可以实现属性设置,或者不可能,或者是一个特性请求?可能是这样的:

root.path.[file.dot].more
或:


路径[fileWithExt.png].attrs=Works.

不能将object['keyName'].foo这样的路径作为setProperty的第一个参数传入。该参数只需要点分隔的路径

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


:这三个都有效…

谢谢你的帮助,我尝试了你的建议,但似乎不起作用:?“我错过了什么吗?”保罗,我以前从未听说过JsViews。我刚查过。结果是setProperty方法不支持以该格式传递字符串。您可以在JavaScript中使用object['keyName'],但将object['keyName']中的字符串传递到方法/函数中并不自动意味着它将像真正的JavaScript一样工作,因为它不是JavaScript表达式,只是字符串。也就是说,您可以用下划线替换句点,如fileName_png中的句点,或者用JsViews提交错误报告,这样他们就可以向setProperty添加对该字符串输入格式的支持。我考虑过在前后进行字符串替换,但数据集非常庞大,因此会对性能造成巨大影响,我希望有一个解决办法,但我想我会提交一个功能请求/bug。无论如何谢谢你!
root.path.{{file.dot}}.more
$.observable( files.images[n] ).setProperty( 'modified', 'Modified!' );
$.observable( files.images[n] ).setProperty( 'alias', a );