Сегодня я пробовал Vue, и пытался бежать, прежде чем я смог ходить, поэтому я время от времени бегал в стены.Я задал пару вопросов ранее и вернулся с другим.
Последний вопрос, который я задал, был: «Не удалось получить доступ к переменной данных в сценарии, но можно в html», и проблема заключалась в опечатке.Как только эта опечатка была исправлена, я смог получить доступ к переменной данных, которую я заполнил массивом в сценарии, но теперь я столкнулся с проблемой заполнения переменной данных с помощью ajax и обещания, в то время как я могу получить к нему доступ вHTML, я не могу получить доступ к данным переменной в сценарии сейчас, и я дважды проверил, что у меня нет опечаток.
Что я не понимаю, это почему, если строка json находится в локальной переменной, то я могуполучить доступ к указанной переменной данных, но не после ее заполнения с помощью ajax
Теперь я получаю ошибки и не могу получить доступ к переменной ...
Вот мой вызов ajax:
GetItemPriceListByID: (whichOne) => {
return $.ajax({
type: "GET",
url: "../Scripts/" + whichOne + "JSON.json",
dataType: "json"
});
}
Вот копия возвращаемого JSON
[
{
"CatalogName": "Retro Doors",
"ItemName": "French Doors",
"ItemListPrice": "$461.00",
"ItemType": "Oak",
"ItemFeatures": [
{
"Features": "Door Quantity",
"QTY": 2
},
{
"Features": "Door Hinges",
"QTY": 4
},
{
"Features": "Door Knobs",
"QTY": 1
},
{
"Features": "Door Looks",
"QTY": 1
},
{
"Features": "Glass Panes",
"QTY": 2
}
]
}
]
HTML: {{item.CatalogName}} {{items.Features}}
скрипт:
new Vue({
el: '#app',
beforeCreate: function () {
console.log("Before Created");
},
created: function () {
console.log("Created");
this.GetItemsList();
},
beforeMount: function () {
console.log("Before Mount");
},
data: {
itemPriceList: []
},
methods: {
GetItemsList() {
this.itemPriceList = CommonFunctions.GetItemPriceListByID("ItemList")
.done(data => {
this.itemPriceList = data;
console.log("Completed")
}); //result;
}
},
mounted: function () {
console.log("Mounted");
console.log(this.itemPriceList[0].CatalogName);
}
});
Ошибки, которые я получаю с этим (если запустить, то CatalogName действительно отображается в HTML)
**РЕДАКТИРОВАТЬ **