禁用Durandal内联样式

chr*_*erm 3 asp.net single-page-application durandal hottowel

Durandal似乎会自动将以下内联样式添加到包含其数据视图的div元素中:

style="margin-left: 0px; margin-right: 0px; opacity: 1; display: block;"
Run Code Online (Sandbox Code Playgroud)

这种情况发生在使用Durandal的Durandal和John Papa Hot Towel ASP.NET SPA模板中.

这种内联样式覆盖了我的外部样式表,因此我需要禁用此行为.我假设这是由一个JavaScript文件注入,但我不能为我的生活似乎弄清楚在哪里.

任何人都知道如何防止这种内联样式被添加?

Jos*_*iel 6

这是由"入口"过渡(durandal/transitions/entrance.js)设定的.看起来转换的最终结束点是那些值,并且在转换完成时它们不会被删除.

您可以通过不使用转换来完全避免这种情况.这将需要几个步骤:

  1. 在main.js中,修改app.setRoot()调用以删除'entrance'参数.这将阻止样式设置添加到shell容器中
  2. 在shell.html中,从撰写绑定中删除转换设置.这样可以防止将样式设置添加到各个视图中.

另一种可能性是创建自己的过渡,与CSS要求更加兼容.