İlk zaman uyumsuz ayıklamaya daha az sorun, sen kor hata ayıklama sürümünü değil, küçültülmüş üretim versiyonunu kullanmak istediğiniz olacaktır. Bu size konsolda daha iyi bir bilgi verir.
İkincisi, benim için büyük ölçüde yardımcı olmuştur şey, benim rotalar, görünümler ve kontrolörler tüm etkinliklerim içinde ayıklama içinde eklemektir.
Ana Uygulama sınıfında debugMode adlı bir özelliğim var ve bir günlük işlevi var.
window.App = Ember.Application.create({
debugMode: false,
log: function(message, location, data) {
if (this.debugMode) {
if (data != null) {
if (typeof data === 'object') {
data = Ember.inspect(data);
}
console.log('DEBUG: ' + this.appName + ' : ' + location + ' : ' + message);
return console.log('DEBUG: ' + this.appName + ' : (continued) data: ' + data);
} else {
return console.log('DEBUG: ' + this.appName + ' : ' + location + ' : ' + message);
}
}
}
Günlük işlevi iletiyi, konumu ve ardından isteğe bağlı olarak verileri alır.
Böylece, günlük iki örnek aşağıdaki gibidir:
günlük bir işlev ve
App.ProfileController = Ember.ObjectController.extend({
setProfile: function() {
App.log("setting current user's profile", 'App.ProfileController.setProfile', App.currentUser);
//do other stuff with the profile
}
})
günlük verileri bir kontrol/görünüm/rota başlatma geçmesi
App.EventController = Ember.ObjectController.extend({
init: function() {
this._super();
App.log('initializing event controller', 'App.EventController.init');
return this.set('isLoading', false);
}
})
Sonra konu bu şekilde olduğu yerde teşhis etmek için denemek için harika konsol bilgilerle bırakılmalıdır:
DEBUG: My App Name : App.ApplicationController : application controller initializing
DEBUG: My App Name : App.ApplicationRoute.setupController : setupController called
DEBUG: My App Name : (continued) data: {target: <App.Router:ember249>, namespace: App, container: [object Object], _debugContainerKey:
DEBUG: My App Name : App.accountController.setCurrentUser : setting applications currentUser object
DEBUG: My App Name : (continued) data: {"id":3,"username":"bob","firstName":"Bob","lastName":"W","updatedAt":"2013-04-16T06:29:39.731Z"}
DEBUG: My App Name : App.EventController.init : initializing event controller
DEBUG: My App Name : App.EventRoute.setupController : setupController called
DEBUG: My App Name : (continued) data: {target: <App.Router:ember249>, namespace: App, container: [object Object], _debugContainerKey: controller:event, _childContainers: [object Object], isLoading: false}
Son olarak,
debugger;
görüntüleme/yönlendirme/denetleyicilerin iç
ile kullanım ayıklama şablonlarınızın
iç
{{debugger}}
ve konsol veya satır içi kullanım
Ember.inspect(YOUR_OBJECT);
denkor bilgilerini görüntülemek için. Hala yaşam döngüsü açıklama için arıyorum
kimse ne olur ve bir Kor görünümü oluşturulmakta olan zaman olur hangi sırayla bir diyagram çekti gibi görünüyor. –