首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以有多个viewEngine.viewExtension

是否可以有多个viewEngine.viewExtension
EN

Stack Overflow用户
提问于 2013-03-15 06:12:24
回答 2查看 739关注 0票数 1

我有一个asp.net热毛巾SPA应用程序,我想同时使用.html和.cshtml页面。

是否可以添加多个viewExtensions:

代码语言:javascript
复制
viewEngine.viewExtension = '.cshtml';
viewEngine.viewExtension = '.html';
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-16 19:54:32

viewExtension不是数组,所以在开始时,您不能设置多个viewExtensions。当然,这只是javascript,你可以进入源代码并从核心的Durandal应用程序文件夹(链接在这里:https://github.com/BlueSpire/Durandal/blob/master/App/durandal/viewEngine.js)中更改viewEngine.js。

也就是说,如果客户端下载一个*.cshtml文件,剃刀语法将不会以您认为的方式呈现。如果服务器提供*.cshtml视图,那么它将在传递给客户端之前被呈现。如果您正在寻找使用Durandal进行动态视图呈现,那么最好的方法是覆盖viewEngine中的一个或两个函数,即: viewEngine.convertViewIdToRequirePath(viewId):string和进一步的viewEngine.createView(viewId):promise。

欲了解更多信息,请查看此链接:Routing and Leveraging Dynamic Content in DurandalJS

票数 3
EN

Stack Overflow用户

发布于 2013-03-19 07:15:59

看看这个要点:https://gist.github.com/irium/5191764

这是我自己对类似问题的解决方案。这些是对Durandal的viewEngineviewLocator的定制。在您的shell模块中导入此模块并运行customizeViewEngine()customizeViewLocator()函数。之后,带有.html扩展的视图将像以前一样被处理,但是.cshtml视图将被从远程服务器请求。但请记住:由于Durandal的视图缓存,这只会执行一次。相同视图的所有后续请求都将在客户端使用缓存版本。这可以通过手动从RequireJS取消注册视图模块来更改,但这超出了我的需求范围

这是编译成JavaScript的CoffeScript代码,但我希望您能理解,我的代码会对您有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15421195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档