Ich habe begonnen, vue.js App mit Laravel mit Single-File-Komponenten zu bauen. Das Problem ist mit meinem App-Objekt: Es ist ein DOM, kein Vue-Objekt und App wird nicht richtig funktionieren.Vue App-Objekt ist nicht Art von Objekt
Wenn ich meine App starte, werden die Komponenten richtig gerendert, vue-devtools
erkennt Vue 2.2.6, alles scheint in der richtigen Weise zu funktionieren.
Aber wenn ich
console.log(app)
in Chromkonsole Typ sehe ich ein DOM-Objekt:
<div id="app"></div>
Was mehr ist, wenn ich versuche, Titel Eigenschaft zu ändern (und wollte hello
Komponente geändert, um zu sehen auf Bildschirm) nur durch Eingabe
app.title = "awesomness"
in der Konsole, würde meine Komponente nicht ändern, bu t nur meine div#app
: (console.log(app)
getippt
<div id="app" title="awesomness"></div>
Die Frage ist: warum? Beispiele unten.
Testkomponente Hello.vue
<template>
<div>
<p>{{ greeting }} World!</p>
</div>
<script>
module.exports = {
props: ['greeting'],
data: function() {
return {
}
}
}
</script>
<style scoped>
p {
color: red;
font-size: 20px;
}
</style>
von Laravel Teil meines Index/Index Ansicht:
<div id="app">
<hello :greeting="title"></hello>
</div>
und schließlich meine /resources/assets/js/app.js
Datei
import Vue from 'vue'
import Hello from './components/Hello.vue'
Vue.component('hello', Hello);
var app = new Vue({
el: '#app',
data: {
title: 'Hello Vue!',
todos: [
{ text: 'task 1' },
{ text: 'task 2' },
{ text: 'task 3' },
{ text: 'task 4' }
],
}
})
Du hast Recht, ich danke Ihnen so sehr! – piotr
@piotr gute Frage :) – Bert