1

ちなみに、私はAngularJSで遊んでいます。これはキックアスのフロントエンドフレームワークです。

今日、私はangular-seedスターターアプリ(ここにあります: https ://github.com/angular/angular-seed )を現在存在するRails3.1.3アプリケーションに組み込んでみました。

デモコード(http://docs.angularjs.org/#!/tutorial)をアセットパイプラインで機能させるためにいくつかの問題が発生したため、テスト目的で、それらをパブリックフォルダー(古い学校のスタイル)に配置しました。

チュートリアルに従い、すべてのビュー、コントローラー、サービスを正しく設定しました。ただし、インデックスページの下部にjsファイルを含めた場合:

<script src="angular/app/lib/angular/angular.js" ng:autobind></script>
<script src="angular/app/js/services.js"></script>
<script src="angular/app/js/controllers.js"></script>

...どのコントローラーも機能しません。{{ model.property }}実際の出力ではなく、テンプレート内でタグを取得します。

Chromeの開発ツールにJavascriptエラーはありません-ネットワークとリソースは、期待されるすべてのファイルが正しくロードされていることを示していました。

コード内の何かを見落としているのではないかと思いましたが、開発者ガイドを見ると、angularのcdnへのリンクがあります。

<script src="http://code.angularjs.org/angular-0.9.19.min.js" ng:autobind></script>

念のため、ローカルのangular.jsスクリプト呼び出しをcdnに置き換えたところ、突然すべてが期待どおりに機能しました。

適切なディレクトリからローカルコピーをロードしていることを再確認しました。これは、angular-seedファイルに付属している標準ディレクトリです。このファイルは、正しくダウンロードされたリソースとしても表示されていました。

誰もがcdnが機能した理由についてアイデアを持っていますが、ローカルコピーは機能しませんでしたか?

4

3 に答える 3

2

角度シードは、0.9.19と互換性のないAngularJS 1.0.0rc5(現在)を使用します。シードアプリがどのように配線されているかを確認してください。(たとえば、ng:autobindを削除し、レイアウトテンプレートのhtmlタグにng:appまたはng-appを追加します)。

于 2012-04-18T06:27:55.210 に答える
1

古いバージョンを使用しているようです:これを読みたい: http://docs.angularjs.org/#!/ guide / dev_guide.bootstrap.auto_bootstrap

新しいバージョンを使用する必要があります。ドキュメントは次のとおりです:http ://docs-next.angularjs.org/guide/dev_guide.bootstrap.auto_bootstrap

于 2012-04-18T05:42:41.980 に答える
0

一つには、最初のスクリプト参照に二重引用符がありません。

于 2012-04-18T03:29:58.970 に答える