Turbolinksを有効にしたままでangularjsを使用する
Turbolinks and Angularjs
最近はangularjsとRails4の組み合わせであそ、、、仕事しています。 まだまだangularjs触り始めて数日ですが、Turbolinksを有効にしているとng-showなどが画面遷移した際に上手く動かなかったのにハマったので、解決方法を自分用にメモ。
htmlからng-appを削除する
普通(?)はhtmlタグに
<html ng-app='MyApp'>
とか書くと思うんですが、これを削除します。
<html>
app.js.coffeeでbootstrapする
window.App = angular.module('myApp', ['ngResource']) $(document).on('ready page:load', -> angular.bootstrap(document.body, ['myApp']) )
2~4行目を追記することで、turbolinkを有効にしていてもangularjsがbootstrapingされるので正常にng-showなどが動作しました。
備考
まだそこまでガッツリangularjsで書きまくっている訳ではないので、なにか問題でるかもしれませんが、
くらいのは上記の方法でも正常に動作しました。
Good Luck!