検索

ホームページ  >  に質問  >  本文

angular.js - angularjs requirejs Karma ディレクティブ templateUrl テストが失敗しました (痛い)

ディレクトリ構造

--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 からは取得できません。問題がどこにあるのかを理解するのを手伝ってくれる人がいるかどうかわかりません。

巴扎黑巴扎黑2784日前556

全員に返信(1)返信します

  • PHP中文网

    PHP中文网2017-05-15 16:58:31

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

    返事
    0
  • キャンセル返事