So injiziere ich die gleichen HTML-Vorlagen auf Knopfdruck und nachdem ich Name in Input-Tag mit eckigen Anweisungen eingegeben.
Das sind meine Richtlinien:
$scope.folder_name = '';
$scope.folder_count = 0;
cheapWatcherApp.directive("addfolder", function() {
return {
restrict: "E",
templateUrl: chrome.extension.getURL('views/folderName.html')
}
});
cheapWatcherApp.directive("addfolder", function ($compile, $templateRequest) {
return function ($scope, $element, $attrs) {
$('.createBtn').bind("click", function() {
$scope.folder_count++;
$scope.folder_name = document.getElementById('folder_name').value;
$templateRequest(chrome.extension.getURL('views/newFolder.html')).then(function (html) {
var template = angular.element(html);
angular.element(document.getElementById('space-for-folders')).append($compile(template)($scope));
});
});
};
});
Das ist mein HTML-Template Mir Injektion:
<div class="new_folder">
<div class="folder_icon">
<div class="folder_icon_border">
<div class="folder_icon_bubble"></div>
<div class="folder_icon_bubble"></div>
<div class="folder_icon_bubble"></div>
</div>
</div>
<div class="folder_name">
<p class="folder_name_txt">{{folder_name}}</p>
</div>
</div>
Also, wenn ich zum ersten Mal der Injektion alle sehen gut aus, aber wenn ich zweites Mal Injektion sowohl erste und zweite Vorlage wird mit dem gleichen Wert, und das ist, was passiert mit dritten und vierten und so weiter ...
Wie ich verstehe es ist, weil $ templateRequest nach dem ersten inje ction legt die Vorlage auf $ templateCache und deshalb werden alle Vorlagen mit dem gleichen Namen.
Wie könnte ich dieses Problem lösen und jede Injektion mit verschiedenen Namen machen?
Überprüfen Sie diese Antwort: http://StackOverflow.com/a/14721340/1615594 – tsuz
@ user013948 es hilft nicht bei der Cache-Reinigung, so ist es wahrscheinlich nicht Cache-Problem ... –