Je n'arrive pas à comprendre comment faire un console.log
pour voir quel élément se trouve dans ul
au fur et à mesure de sa transmission.
<div v-for="(item, index) in todos" :key="index"> <ul v-if="item" :load="console.log(item)"> <li v-for="(value, key) in item" :key="key"> <label v-bind:for="key">{{ key }}</label> <div v-bind:id="key">{{ value }}</div> </li> </ul> </div> var vm = new Vue({ el: '#components-demo', data: { todos: [ newData ] } })
3 Réponses :
vous devez définir une méthode comme:
var vm = new Vue({ el: '#components-demo', data: { todos: [ newData ] }, methods: { log(item) { console.log(item) } } })
dans votre script:
<ul v-if="item" :load="log(item)">
pour une utilisation globale, ajoutez Vue.prototype.log = console.log;
dans main.js
J'emballe généralement la valeur que je débogue dans
comme ceci: <div v-for="(item, index) in todos" :key="index">
<ul v-if="item" :load="console.log(item)">
<li v-for="(value, key) in item" :key="key">
<label v-bind:for="key">{{ key }}</label>
<div v-bind:id="key">{{ value }}</div>
</li>
</ul>
</div>
var vm = new Vue({
el: '#components-demo',
data: {
todos: [
newData
]
},
created() {
this.console = window.console;
}
})
<div v-for="(item, index) in todos" :key="index"> <pre>{{ item }}</pre> <ul v-if="item" :load="item"> <li v-for="(value, key) in item" :key="key"> <label v-bind:for="key">{{ key }}</label> <div v-bind:id="key">{{ value }}</div> </li> </ul> </div>
Mais vous pouvez aussi utilisez la console si vous la passez dans le contexte du modèle lors de la création
Similaire à la réponse de Daniel, mais vous pouvez simplement référencer console
dans l'objet de données
data(){ return { console, //ES6 ... } }
il devrait simplement s'afficher, vous devriez simplement regarder le code HTML généré par le modèle, je pense que la journalisation de la console serait un peu excessive ici
Je suppose que j'ai également besoin de projets futurs, j'ai besoin de savoir comment le faire