Kullanma $provide.decorator
$provideDirektifi süslemek için kullanmak , doğrudan uğraşma ihtiyacını ortadan kaldırır $templateCache.
Bunun yerine, normalde yaptığınız gibi harici şablon html'nizi istediğiniz adla oluşturun ve ardından yönergeyi göstermesi için yönergeleri geçersiz kılın templateUrl.
angular.module('plunker', ['ui.bootstrap'])
.config(['$provide', Decorate]);
function Decorate($provide) {
$provide.decorator('alertDirective', function($delegate) {
var directive = $delegate[0];
directive.templateUrl = "alertOverride.tpl.html";
return $delegate;
});
}
Fork of pkozlowski.opensource 's plunkr: http://plnkr.co/edit/RE9AvUwEmKmAzem9mfpI?p=preview
(Süslemek istediğiniz yönerge adına 'Yönerge' son ekini eklemeniz gerektiğini unutmayın. Yukarıda, UI Bootstrap alertyönergesini süslüyoruz , bu nedenle adı kullanıyoruz alertDirective.)
Genelde sadece geçersiz kılmaktan daha fazlasını yapmak isteyebileceğiniz için templateUrl, bu, örneğin bağlantıyı veya derleme işlevini geçersiz kılarak / sararak ( örneğin ) yönergeyi daha da genişletmek için iyi bir başlangıç noktası sağlar .
$modalçok fazla bakım sorunu yaratmadan (umarım) daha fazla yapılandırılabilirlik elde etmek için hizmeti dekore ederken buldum .$provide.decorator('$modal'... Benim durumumda,modalWindowelementi oluşturmak istemedim . Hiç. Kullanmıyordum ve bulabildiğim en iyisi buydu. Varsa daha iyi bir yol duymak isterim.