Я бы попробовал добавить ng-if
к повтору
$http.post("/getwallpost", reqGetPost).then(function(response) {
var accounts = [];
$scope.postsProfile = response.data
for (var i = 0; i < response.data.length; ++i) {
if(response.data[i].type_id == 1) {
accounts[i] = new Quill("#content" + response.data[i].id + "", optionwall);
accounts[i].setContents(JSON.parse(response.data[i].content))
}
}
$scope.showRepeat = true;
});
<div ng-repeat="post in postsProfile" ng-if="showRepeat">
<div class='postcontent' id='content{{post.id}}'></div>
</div>
РЕДАКТИРОВАТЬ
также может быть противоположной проблемой.
Вы также должны попытаться вызвать новый Quill при печати последнего повтора ...
app.directive("lastRepeat", function(){
return {
restrict: "A",
link: function(scope, el, attrs){
if(scope.$last){
var eventId = "LR_";
eventId += !!attrs.lastRepeat ? attrs.lastRepeat : "last";
scope.$root.$broadcast(eventId);
}
}
};
});
html
<div ng-repeat="post in postsProfile" ng-if="showRepeat" last-repeat="foo">
<div class='postcontent' id='content{{post.id}}'></div>
</div>
и в вашем js ...
$scope.$root.on("LR_foo", function(){
var data = angular.copy($scope.postsProfile);
for (var i = 0; i < data.length; ++i) {
if(data[i].type_id == 1) {
accounts[i] = new Quill("#content" + data[i].id + "", optionwall);
accounts[i].setContents(JSON.parse(data[i].content))
}
}
});
$http.post("/getwallpost", reqGetPost).then(function(response) {
var accounts = [];
$scope.postsProfile = response.data
$scope.showRepeat = true;
});