2014-03-13 54 views
0

我搜索了一下,发现了一些使用AngularJS与rails,角度路由,整个九点集成的东西,但是我想使用默认的rails路由并使用指令。似乎没有人想要这样做,或者它不可能完全凌驾于涡轮链接上。Rails和AngularJS指令

每当我四处游览时,我的指示不会粘住,它们会闪烁,永远不会返回。我读过这是一个turbolinks问题,并且需要在页面上引导应用程序:加载事件,但是没有办法通过页面更改将指令保留在屏幕上吗?

回答

1

Turbolinks尝试优化页面的呈现,并且会与AngularJS的正常引导过程发生冲突。

如果您在应用程序的某些地方使用Turbolink,并且某些部件使用Angular。我建议这个优雅的解决方案:

每个链接到一个网页,angularapp(在您使用NG-应用=“APPNAME”)应该有这样的属性:

<a href="/myapp" data-no-turbolink>Say NO to Turbolinks</a>. 

第二 - #1提及通过处理page:load事件显式重载/引导每个ng-app。我认为这是侵入性的,更不用说你可能会加载不在页面上的东西,从而浪费资源。

我个人使用过上述解决方案。

希望它有帮助