2016-08-25 14 views
14

खैर मैं नई laravel 5.3 और vue.js साथ खेल रहा हूँ और मैंLaravel परिभाषित नहीं है

घटकों इम का उपयोग कर btw मेरी DB में मेरे पास है कुछ उपयोगकर्ताओं के लिए एक प्राप्त कॉल करना चाहते हैं।

यह मेरा app.js है

require('./bootstrap'); 

Vue.component('example', require('./components/UserComponents/User.vue')); 

const app = new Vue({ 

    el: 'body', 

}); 

यह मेरा घटक User.vue मैं पद आकार कारण के लिए HTML टेम्पलेट बाहर छोड़ दिया मैं इसे पोस्ट कर सकते हैं है यदि आवश्यक

<script> 

    export default{ 

     data : function() { 
      return { 
       users : '' 
      } 
     }, 

     methods: { 


      fetchUser: function() { 

       var vm = this; 

       vm.$http.get('user/', function (data) { 
        vm.$set('users', data) 
       }) 

      } 
     }, 
     ready() { 

      this.fetchUser(); 
     }, 

    } 
</script> 

इम 2 हो रही है कंसोल

vue-resource.common.js?d39b:27 0ReferenceError: Laravel is not defined(…) 

(program):29 Uncaught (in promise) ReferenceError: Laravel is not defined(…) 

यह मेरा पैकेज है। जेसन जैसा कि आप देख सकते हैं कि मेरे पास इसके लिए सभी डिप्टी हैं आरके vue और vue संसाधन

{ 
    "private": true, 
    "scripts": { 
    "prod": "gulp --production", 
    "dev": "gulp watch" 
    }, 
    "devDependencies": { 
    "bootstrap-sass": "^3.3.7", 
    "gulp": "^3.9.1", 
    "jquery": "^3.1.0", 
    "laravel-elixir": "^6.0.0-9", 
    "laravel-elixir-vue": "^0.1.4", 
    "laravel-elixir-webpack-official": "^1.0.2", 
    "lodash": "^4.14.0", 
    "vue": "^1.0.26", 
    "vue-resource": "^0.9.3" 
    } 
} 

आशा है कि कोई मेरी मदद कर सकता है। धन्यवाद

+0

आप अपने '/ bootstrap.js' दिखा सकते हैं। कहीं भी वैरिएबल/निरंतर 'लार्वावेल' का उपयोग शुरू किए बिना किया जा रहा है। –

+0

@NEOJPK, क्या आप अपना HTML टेम्पलेट पोस्ट कर सकते हैं? मैं भी साथ खेल रहा हूँ। तो यह मुझे सीखने में मदद करेगा। –

+0

मेरे पास अब यह दोस्त नहीं है। लेकिन मुझे लगता है कि उन्होंने इसे ठीक किया है। जाओ और संगीतकार से नवीनतम संस्करण पकड़ो। और फिर npm – NEOJPK

उत्तर

37

कोशिश अपने ब्लेड पर इस डाल करने के लिए, जैसा कि आप देख सकते हैं Laravel 5,3

<script> 
    window.Laravel = <?php echo json_encode([ 
     'csrfToken' => csrf_token(), 
    ]); ?> 
</script> 
+1

इंस्टॉल करें मुझे एक ही समस्या है, और मैंने इस तरह हल किया है! धन्यवाद! – Mistre83

37

या एक क्लीनर प्रारूप के लिए पर app.blade पर डिफ़ॉल्ट रूप से सम्मिलित किया जाता है:

<script> 
    window.Laravel = { csrfToken: '{{ csrf_token() }}' }; 
</script> 

करता है रोक्को के जवाब के समान ही बात।

+0

क्या आप कृपया इस उत्तर में अधिक जानकारी जोड़ सकते हैं कि हमें ऐसा करने की आवश्यकता क्यों है? – Naeem

+1

यह सिर्फ क्लीनर है। –

+0

मैंने सुना है कि लार्वेल को सुरक्षा प्रदान करने के लिए इसकी आवश्यकता है – Danish

0

आप Axios उपयोग कर रहे हैं तो यह सुनिश्चित निम्नलिखित अपने bootstrap.js फ़ाइल में है के बाद Axios आयात किया जाता है:।

window.axios.defaults.headers.common = { 
    'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').getAttribute('content'), 
    'X-Requested-With': 'XMLHttpRequest' 
}; 
संबंधित मुद्दे