Journalisation de la Console sur ember js
Je voudrais juste demander pourquoi est-ce que lorsque vous imprimez sur la console sur la braise, il vous donne une chaîne de caractères? mais si vous typeof sur elle, elle vous donne une fonction?
ex. sample = Ember.Route.extend();
console.log(sample); //prints (subclass of Ember.Route)
console.log(typeof sample); //function
Quelqu'un peut m'expliquer cela s'il vous plaît? De côté avec leur documentation qui est difficile à saisir. Il est vraiment difficile de debug sur la braise, même avec de la braise à l'inspecteur. Est-il un outil ou une façon de bien de débogage de braise.
OriginalL'auteur olanchuy | 2014-10-16
Vous devez vous connecter pour publier un commentaire.
En termes de Braise de débogage, vous avez probablement déjà lu cela: http://emberjs.com/guides/understanding-ember/debugging/
Il y a un couple d'une grande fonctionnalité, ce que vous pouvez activer en cours de développement, pour obtenir plus d'informations, ce qui se passe sous le capot.
Vous pouvez insérer dans votre app.js:
Vous pouvez arrêter votre code si vous écrivez
debugger
dans votre code. Je l'utilise assez souvent pour comprendre ce qui s'y passe.En termes de votre question, si vous étendez une Braise classe il créer une nouvelle fonction, mais se comporter comme une sous-classe de la classe étendue. Vous pouvez vérifier ce qui s'y passe: https://github.com/emberjs/ember.js/blob/v1.7.0/packages/ember-runtime/lib/system/core_object.js#L536-L556
Lorsque vous exécutez votre application de Braise, votre application va être enveloppé dans un conteneur, donc si vous avez besoin d'accéder à des propriétés ou des variables, vous devez utiliser cette - en supposant que le nom de votre appli est 'App':
C'est de prendre un certain temps pour comprendre comment pourriez-vous le débogage de votre application de braise, mais vaut la peine d'apprendre et de s'investir davantage de temps, parce qu'elle sera très utile plus tard.
Si vous avez des questions, n'hésitez pas à commenter et nous pouvons le résoudre.
Sur débogueur;
C'est comme un point d'arrêt, vous pouvez arrêter le code. "Inspecter l'élément"/"Outil de développement" doivent s'ouvrir dans google Chrome. Petit exemple ici: http://jsbin.com/cugetoxoyira/45
Code Source: http://jsbin.com/cugetoxoyira/45/edit
À la Ligne 18, il y a un
debugger;
, de sorte que vous pouvez vérifier dans votre console qu'est-ce que dans le contrôleur ou dans le modèle params. Vous devez saisir uniquementcontroller
dans votre Console dans l'Outil de développement de Chrome.debuggger
sur le code? est-ce quelque chose comme un point d'arrêt? ou? Oui, il faut vraiment du temps pour bien comprendre de braise, je suis à investir mon temps et d'efforts sur ce point. Espérons qu'il va payer (s'inquiéter)C'est parce que la braise remplace méthode toString de l'objet.
var fun = function () {}; /* fun - 'function', typeof fun - 'function' */ fun.toString = function() { return 'any string'; } /* fun - 'any string', typeof fun - 'function'*/
J'ai étendu ma réponse avec le débogueur; et vous pouvez voir un exemple dans jsbin.com ainsi... JSBin est un excellent site pour apprendre et jouer avec des extraits... donc si vous voulez résoudre un simple problème, mais ne fonctionne vraiment, vous pouvez partager avec nous.
Salut, merci pour les explications et conseils. C'est génial. Maintenant, je peux enfin voir ce qui se passait à l'intérieur. 🙂 cheers!
P. S. hors de propos à ce sujet, avez-vous du diagramme ou de débit pour les séquences sur la braise? (Je devrais peut-être créer un nouveau topic pour ça?non?). comme ce qui sera appelé en premier? et à côté, etc.. si vous n'avez pas un schéma peut-être que certains pseudo-code avec des explications? 🙂 Merci encore!
OriginalL'auteur Zoltan
Suffit d'utiliser
{{log "This is logged" foo "And so is this"}}
Référence: http://handlebarsjs.com/builtin_helpers.html
OriginalL'auteur Alan Dong