Geciktirme AngularJS model kadar rotayı değiştirmek titreşimi önlemek için yüklü
Eğer AngularJS için bir yol (Gmail gibi) olup olmadığını merak ediyorumher model ve veri alındıktan sonra yeni bir rota gösterilen gecikmekendi hizmetlerini kullanarak.
Eğer tüm Projeleri listelenen ProjectsController ve şablonu olan project_index.html eğer orada örneğin, bu Projeler, Project.query() tamamen yeni bir sayfa göstermeden önce getirilen olacağını gösterdi.
O zamana kadar, eski sayfa hala göstermek için (eğer tarama olsaydım örneğin, bir sayfa sonra bu Proje dizini görmeye karar verdim) devam edecekti.
CEVAP
13* $routeProvider *özellik veri yüklenene kadar rota değişikliği geciktirme sağlar.
İlk böyle resolve öznitelik ile bir yol tanımlar.
angular.module('phonecat', ['phonecatFilters', 'phonecatServices', 'phonecatDirectives']).
config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/phones', {
templateUrl: 'partials/phone-list.html',
controller: PhoneListCtrl,
resolve: PhoneListCtrl.resolve}).
when('/phones/:phoneId', {
templateUrl: 'partials/phone-detail.html',
controller: PhoneDetailCtrl,
resolve: PhoneDetailCtrl.resolve}).
otherwise({redirectTo: '/phones'});
}]);
resolve özelliği güzergahı üzerinde tanımlanan dikkat edin.
function PhoneListCtrl($scope, phones) {
$scope.phones = phones;
$scope.orderProp = 'age';
}
PhoneListCtrl.resolve = {
phones: function(Phone, $q) {
// see: https://groups.google.com/forum/?fromgroups=#!topic/angular/DGf7yyD4Oc4
var deferred = $q.defer();
Phone.query(function(successData) {
deferred.resolve(successData);
}, function(errorData) {
deferred.reject(); // you could optionally pass error data here
});
return deferred.promise;
},
delay: function($q, $defer) {
var delay = $q.defer();
$defer(delay.resolve, 1000);
return delay.promise;
}
}
Denetleyici tanımı gidermek içerdiğine dikkat edin denetleyicisi yapıcı için mevcut olması gereken şeyleri beyan ettiği nesne. Burada phones denetleyici içine enjekte edilir ve resolve özelliği olarak tanımlanır.
resolve.phones işlevi söz döndürülmesinden sorumludur. Sözlerin hepsi toplanır ve rota değişikliği sözlerin ardından tüm giderilinceye kadar gecikir.
Çalışan demo: http://mhevery.github.com/angular-phonecat/app/#/phones Kaynak: https://github.com/mhevery/angular-phonecat/commit/ba33d3ec2d01b70eb5d3d531619bf90153496831

Ne kadar büyük bir dize değiştirmek iç...
Ne kadar BOŞ izin vermek için bir MySQ...
Ne kadar derin angularjs bir dizi izle...
Ne kadar üst düzey pencere komut satır...
model etiketleri değiştirmek için Nası...