2016-05-06 1 views
0

私はtemplateUrlステートメントで簡単な指示文を持っていますが、ng-html2jsを使ってテンプレートをロードしています。要素をコンパイルして$digestメソッドを呼び出しましたが、要素が空であるか、html()''です。 カルマのコンパイルされた要素が空です

この

はテストです:

var scope, element; 

    beforeEach(module('mainApp')); 
    beforeEach(module('templates/about.html')); 

    beforeEach(inject(function($rootScope, $compile) { 
     element = angular.element('<about-modal></about-modal>'); 

     scope = $rootScope; 
     $compile(element)(scope); 
     scope.$digest(); 
    })); 

    it('About widget is loaded', function() { 
     expect(element.html()).toEqual('<some html>'); 
    }); 

要素が消化されたり取り込まれていないみたいです。前と同じ状態がコンパイルされ消化されていますか?

答えて

0

それは私のせいでした。

テンプレートとしてモジュールをロードするだけで、ディレクティブの要素をコンパイルするのに十分だと思いました。

私はこのようにテンプレートをコンパイルするようにしました。

aboutTemplate = $templateCache.get('templates/about.html'); 
scope = $rootScope; 
scope.appVersion = '2.0.0.1'; 
ele=$compile(aboutTemplate)(scope); 
$rootScope.$digest(); 

これはうまくいきました。この場合、コンパイル済みのディレクティブ(テンプレート)を取得できました。

ありがとうございました。

関連する問題