2017-09-15 1 views
2

Hat alles auf gorails Tutorial, aber etwas falsch. Fehlermeldung in Chrome:Fehler Vue.js "Kann Property Property 'von undefined nicht lesen"

Uncaught TypeError: Cannot read property 'props' of undefined 
    at normalizeProps (vue.runtime.esm.js?ff9b:1291) 
    at mergeOptions (vue.runtime.esm.js?ff9b:1363) 
    at mergeOptions (vue.runtime.esm.js?ff9b:1372) 
    at Vue$3.Vue._init (vue.runtime.esm.js?ff9b:4268) 
    at new Vue$3 (vue.runtime.esm.js?ff9b:4384) 
    at HTMLDocument.eval (hello_vue.js?94ab:29)  
    at Object.t.dispatch (turbolinks.self-) 
    at r.t.Controller.r.notifyApplicationAfterPageLoad ...) 
    at r.t.Controller.r.pageLoaded (t...) 
    at turbolinks.self... 

Hello_vue Datei:

import Vue from 'vue' 
import TurbolinksAdapter from "vue-turbolinks" 
import VueResource from "vue-resource" 

Vue.use(VueResource); 

document.addEventListener('turbolinks:load',() => { 

    Vue.http.headers.common["X-CSRF-Token"] = document.querySelector('meta[name="csrf-token"]').getAttribute("content"); 

    var element = document.getElementById("team-form") 

    if(element != null){ 

    var team = JSON.parse(element.dataset.team); 
    var players_attributes = JSON.parse(element.dataset.playersAttributes); 
    players_attributes.forEach(function(player){ 
     player._destroy = null 
    }) 
    team.players_attributes = players_attributes; 

    var app = new Vue({ 
     el: element, 
     mixins: [TurbolinksAdapter], 
     data: function(){ 
      return { team: team } 
     }, 
     methods: { 
      addPlayer: function(){ 
       team.players_attributes.push({ 
       id: null, 
       name: "", 
       _destroy: null 
       }) 
      } 
     } 
    }); 
    } 
}); 

wie ich sie verstehe, ein Fehler bei der Initialisierung des Objekts App, aber ich kann in dem, was nicht genau verstehen. Ich habe es irgendwie richtig gemacht.

Antwort

4

Fehler in Mixins: [TurbolinksAdapter]

diese Zeile entnommen und Vue.use (TurbolinksAdapter); nach Vue.use (VueResource); und alles hat funktioniert

+0

Dank des @ mr.Zaur sein – rld

0

Ich habe dieses Problem, indem ich eine Variable in der Vue Mixins Array falsch geschrieben habe. zum Beispiel:

import file from '../folder/with/file' 
export default: { 
    mixins: [ 
     fil 
    ] 
} 

sollte

import file from '../folder/with/file' 
export default: { 
    mixins: [ 
     file 
    ] 
} 
Verwandte Themen