Kullanma $provide.decorator
$provide
Direktifi 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 alert
yö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,modalWindow
elementi oluşturmak istemedim . Hiç. Kullanmıyordum ve bulabildiğim en iyisi buydu. Varsa daha iyi bir yol duymak isterim.