angular.js - angularjs requirejs Karma ディレクティブ templateUrl テストが失敗しました (痛い)
巴扎黑
巴扎黑 2017-05-15 16:56:31
0
1
546

ディレクトリ構造

--public
----scripts
--------*/.js // angular ファイル
--test
-- --*/.js //テストファイル
--views
----templates
--------*/.html //ディレクティブ templateUrl ファイル

js テストメインファイルが必要

リーリー

カルマ設定ファイル

リーリー

ディレクティブテストファイル

リーリー

ディレクティブ author-signature.js ファイル

リーリー

著者署名.html

リーリー

angular-app.js ファイル

リーリー

質問

  1. author-signature.js ディレクティブの templateUrl をテンプレート形式に変更すると、テストは成功します。

  2. ソース ファイルのロードとデバッグを表示すると、以下のスクリーンショットに示すように、author-signature.html が .js に変換され、コンテンツが $templateCache にロードされたことがわかります。

しかし、テストは失敗し、$compile は失敗しました。

ヘルプ

angular が $templateUrl の内容を取得する場合、デフォルトではサーバー側のファイルを直接取得するのではなく、$templateCache から取得します。 上記の説明は満たしていますが、それでも $compile が正常に実行できないように感じます。 $templateCache からは取得できません。問題がどこにあるのかを理解するのを手伝ってくれる人がいるかどうかわかりません。

巴扎黑
巴扎黑

全員に返信(1)
Ty80

ああ、テスト ディレクティブに $rootScope.$digest(); を追加するのを忘れてしまいました。
そのため、このディレクティブのスコープの属性は変更されません。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート