के साथ व्यू डेटा प्रारंभ करना मैं AJAX क्वेरी के JsonResult
से डेटा के साथ एक Vue पॉप्युलेट करने का प्रयास कर रहा हूं। जब मैं इसे अपने व्यू मॉडल से एन्कोड करता हूं तो मेरा वू डेटा को ठीक से प्राप्त करता है, लेकिन जब मैं AJAX का उपयोग करके इसे पुनर्प्राप्त करने का प्रयास नहीं करता हूं। यहां मेरा कोड कैसा दिखता है:AJAX
<script type="text/javascript">
var allItems;// = @Html.Raw(Json.Encode(Model));
$.ajax({
url: '@Url.Action("GetItems", "Settings")',
method: 'GET',
success: function (data) {
allItems = data;
//alert(JSON.stringify(data));
},
error: function (error) {
alert(JSON.stringify(error));
}
});
var ItemsVue = new Vue({
el: '#Itemlist',
data: {
Items: allItems
},
methods: {
},
ready: function() {
}
});
</script>
<div id="Itemlist">
<table class="table">
<tr>
<th>Item</th>
<th>Year</th>
<th></th>
</tr>
<tr v-repeat="Item: Items">
<td>{{Item.DisplayName}}</td>
<td>{{Item.Year}}</td>
<td></td>
</tr>
</table>
</div>
यह सभी उचित शामिल है। मुझे पता है कि @Url.Action("GetItems", "Settings")
सही यूआरएल देता है और डेटा अपेक्षित रूप से वापस आता है (जैसा कि सफलता समारोह में एक चेतावनी द्वारा परीक्षण किया जाता है (AJAX में सफलता फ़ंक्शन में टिप्पणी देखें)। इसे इस तरह पॉप्युलेट करना: var allItems = @Html.Raw(Json.Encode(Model));
काम करता है, लेकिन AJAX क्वेरी नहीं करता है। मैं कुछ गलत कर रहा हूं?
आप के बाद दृश्य के डेटा आइटम से अपडेट करना होगा आपको डेटा प्राप्त हुआ है। ध्यान दें, कि AJAX असीमित है (इसलिए नाम), तो आपके पास केवल 'सफलता' कॉलबैक फ़ंक्शन में डेटा होगा! – Jeff
मैं यह कैसे कर सकता हूं? मैं ItemsVue.data नहीं कर सकता। ठीक है? मुझे यकीन नहीं है कि उस बिंदु पर इसे कैसे अपडेट किया जाए ... – muttley91
मुझे लगता है कि मैं सिर्फ 'सफलता' कॉलबैक फ़ंक्शन में अपना वू बना सकता हूं! – muttley91