Şimdi web sitesi geliştiriyorum ve ng-repeat
içinde düzenleme not alanı özellikleri vardır. Not alanını düzenlemek için kullanıcının önce formu görüntülemek için bağlantıyı tıklaması ve ardından içeri giriş yapması ve ardından onu takip etmesi gerekir. Sorun, başarıyla kaydedildikten sonra bu girişi gizleyemem. Kodlama aşağıdaki gibidir.angularjs gönderildikten sonra formu gizlemek nasıl
index.jade
tr(data-ng-repeat="application in job.applications")
td.notes
div.bold #{getMessage('Notes:')}
div.normal
div(ng-hide='showDetails')
{{application.note}}
.br
a.admin_edit_gray(href='#', ng-click="showDetails = ! showDetails") Edit Note
div(ng-show='showDetails')
textarea.form-control.small-text-font(ng-model='editableTitle', ng-show='showDetails', maxlength="100", ng-trim="false")
div.editable
div(ng-if="editableTitle.length == 100")
| #{getMessage('max 100 symbols.')}
a.small-text-editButton(href='#', ng-click='save(application, editableTitle, application.id)') Save
| |
a.small-text-cancelButton(href='#', ng-click="showDetails = ! showDetails") close
controller.js
$scope.showDetails = false;
$scope.noteFormData = {};
$scope.save = function(application, editableTitle, appId) {
$scope.noteFormData = {
appId: appId,
note: editableTitle
};
mytestService.writeNote($scope.noteFormData).then(
function (notemessage) {
application.note = notemessage;
alert('Note is successfully saved.');
$scope.showDetails = false;
}
);
};
Ben başarıyla kaydedildi sonra $scope.showDetails = false;
formu gizlemek için çalıştık. Ama hiç işe yaramıyor. Lütfen bu sorunun nasıl çözüleceğine bana yardımcı olun.
bir '$ timeout' içinde' $ scope.showDetails = FALSE kaydırma deneyin, bir sindirmek sorun olabilir. –
'WriteNote',' $ http' kullanarak sunucunuzdaki güncellemeleri göndermek için bazı AJAX çağrıları yapıyor mu? – Arkantos
@Arkantos yap, elbette. Bu async çağrı. – ppshein