मैं सिर्फ Vue.js के साथ शुरुआत कर रहा हूं और इसे एक ऐप में शामिल करने की कोशिश कर रहा हूं जिसे मैं थोड़ी देर के लिए बना रहा हूं। मेरा ऐप लैरवेल, jQuery की उचित मात्रा, आदि का उपयोग करके बनाया गया है।AJAX आंशिक भार के बाद बाध्य करें?
मेरे ऐप में मेरे सभी नेविगेशन तत्व आंशिक विचारों को वापस करने के लिए AJAX (Vue के माध्यम से नहीं) का उपयोग कर रहे हैं। तो AJAX के माध्यम से एक लार्वा मार्ग पर कोई भी आंतरिक लिंक या फॉर्म सबमिशन सबमिट किया जाता है जो आंशिक लौटाता है।
मैंने अपना पहला वू इंस्टेंस सेट अप किया है, लेकिन यह केवल उस तत्व को बांधता है जब विज़िटर उस पृष्ठ को हिट करता है जहां वू इंस्टेंस का उपयोग किया जाता है। वू इंस्टेंस अभी भी मौजूद है लेकिन जब यह उपयोगकर्ता पृष्ठ से दूर जाता है तो यह तत्व के लिए बाध्यकारी हो जाता है और फिर वापस आता है - संभवतः क्योंकि उपयोगकर्ता को नेविगेट करते समय डीओएम से तत्व हटा दिया गया है।
जब मैं डोम पर लौटता हूं तो तत्व को वापस बांधने के लिए वू कैसे प्राप्त करूं (एक AJAX लोड के माध्यम से जो वू द्वारा नहीं किया जाता है)?
मेरे main.js (अमृत/Browserify से भस्म):
window.MaintenanceStatus = require('./components/Status.js');
Status.js
var Vue = require('vue');
Vue.use(require('vue-resource'));
module.exports = new Vue({
el: '#app',
data: {
message: ''
},
ready: function() {
this.message = 'loading ...';
},
methods: {
setMessage: function(message) {
this.message = message;
},
getStatus: function(url, data) {
this.message = 'loading ...';
this.$http.get(url, data)
.success(function(result) {
console.log('Status get success');
this.setMessage(result);
})
.error(function() {
console.log('Status get error');
this.setMessage('Error');
});
}
}
});
लेने वाली कोड है जो कि AJAX के माध्यम से दिया जाता है एक आंशिक/टेम्पलेट है ...
@extends('layouts.partials.content')
@section('content')
<div id="app">
<pre>@{{ $data | json }}</pre>
</div>
@stop
@section('javascript')
<script type="text/javascript" class="document-script">
$(function()
{
var href ...
var data {...}
MaintenanceStatus.getStatus(href, data);
});
</script>
@stop
ध्यान दें कि यह एक पूर्ण पृष्ठ रीफ्रेश पर काम करता है लेकिन यदि मैं किसी अन्य पृष्ठ पर नेविगेट करता हूं (फिर यह एक AJAX कॉल है) तो मैं इस दृश्य पर वापस लौटता हूं, मैं बस {{$ डेटा | देखता हूं जेसन}} ... ऐसा लगता है कि यह ऐप तत्व के लिए बाध्यकारी है। मैं इसे वापस कैसे लूं?
मैंने वू इंस्टेंस को उस तत्व पर बाध्य करने का प्रयास किया जो कभी भी डोम नहीं छोड़ता है और फिर एक घटक बनाता है लेकिन मुझे एक ही परिणाम मिलता है ... एक पूर्ण पृष्ठ पर घटक प्रस्तुत होता है लेकिन जब आंशिक लोड नहीं होता है AJAX।
मैंने $ माउंट के साथ गड़बड़ करने की भी कोशिश की, लेकिन इसका कोई प्रभाव नहीं पड़ा।
अपने AJAX कॉल के बाद अपने vue उदाहरण को फिर से संकलित करने का प्रयास करें और आंशिक रूप से लोड होने पर, मेरा उत्तर यहां देखें: http://stackoverflow.com/questions/30546370/how-to-make- Vue-js-निर्देश काम में एक-संलग्न एचटीएम्एल तत्व/32757950 # 32757950 –