我有一个骨干应用程序从URL中读取svn文件路径,然后“ls”是它给出的路径。通常,它只是枚举表中ls的结果。但我想要做的是检查路径是否实际上只对应一个特定的文件,在这种情况下,取而代之的是获取并显示文件的内容。
这样做的主要方法是什么?现在在我称之为目录模型的解析函数中,我正在考虑做这样的事情:
parse: function(response, options) {
if (response.length == 1 && response[0].type == "file") {
// what to do here?
}
this.get('entries').reset(response);
$("#indicator").hide();
$('#directory-contents').show();
this.trigger('change');
return {};
},
所以我很想做一个ajax请求来获取文件内容(即// what to do here?
),但是a)直接发一个ajax请求我自己似乎没那么好,并且b)我觉得我把两个模型合二为一。现在我的DirectoryView可能需要检查某种标志,以确定它是否实际呈现目录,或只是一个特定文件。
有关处理此问题的更好方法的任何想法吗?
答案 0 :(得分:2)
好的,在审核了评论并了解您的域名之后,我建议采用以下方法:
type
字符串属性,可以是'目录','文件','符号链接'等type
字段。type
,适当渲染(或者如果您愿意,可以在视图主体的不同模板中交换)type
是'file',请让视图调用fsEntry.fetchContent()并响应相应的change:content
事件以呈现文件内容content
数据,如果缓存中有新数据,则不会重新获取数据,但这只是在所有功能都正确后才应添加的优化。 LI>
基于您的代码示例的旁注:不要在Model或Collection代码中操作DOM!这是MV * facepalm失败。