Для получения полного доступа
зарегистрируйтесь.
RSS

Все сниппеты с тэгами «JavaScript, logging»



Gravatar image
Ivan Fedulov
  • Репутация: 4
  • Сниппеты: 2
  • Ревизии: 0

This is helpful while debugging your Backbone applications. When logging is enabled, console message will contain class type, name, event name and all its arguments.

Такой подход удобен при отладке Backbone приложений. При включенном логировании, каждое сообщение в консоли содержит имя класса, его тип, имя эвента и все переданные ему аргументы.

Если наследующая модель MyModel не содержит кастомного кода в функции initialize, тогда ее обьявление не обязательно.

var ModelBase, MyModel;

// Base Model is taken as example, this is also could be View or Collection
ModelBase = Backbone.Model.extend({
	_logEvents: false,
	desc: void 0,
	initialize: function() {
		if(this._logEvents) {
			this.on("all", function(eventName) {
				console.debug("Captured '" + eventName + "' event for <model> " + this.desc, _.rest(arguments));
			});
		}
	}
});

MyModel = ModelBase.extend({
	_logEvents: true, // enable logging
	desc: "MyModel",  // place class name here
	initialize: function() {
		ModelBase.prototype.initialize.apply(this, arguments);
		// custom model initialization code goes here
	    // ...	
	}
});

(new MyModel).set("foo", "bar");