少し前にGoogleで見つけた構文を使用して、いくつかのAngularコンポーネントのテストを書いています:
describe('Directive: myDir', function () {
beforeEach(module('myApp'));
beforeEach(module('app/views/my_template.html'));
beforeEach(inject(function ($rootScope, _$compile_, $templateCache) {
$templateCache.put('views/my_template.html', $templateCache.get('app/views/my_template.html'));
var scope, $compile;
scope = $rootScope;
$compile = _$compile_;
element = angular.element("<div my-dir class='my-dir'></div>");
}));
it('does things', function () {
$compile(element)(scope);
scope.$digest();
});
});
私の質問は、具体的には の注入に関するもの_$compile_
です。だけとどう違うの$compile
?なぜこのようにする必要があるのでしょうか。$compile が再定義されるのはなぜですか? 挿入した $compile で単純にコンパイルできないのはなぜですか?