我想將輸入元素的輸入值轉化為一個物件
。使用Json.parse()來轉換internData值并不能將字串轉換為物件
在瀏覽器控制臺中進行同樣的操作會回傳正確的結果。
let data = " [1,2,3,4]"。
JSON.parse(datas)
(4) [1, 2, 3, 4]
typeof z
'object'] typeof z
我在這里錯過了什么?
new Vue({
el: "#app"/span>,
data() {
return {
datatype: "foo"。
internData: "[1, 2, 3]"。
};
},
methods: {
transformData() {
//
/ /
JSON.parse(this.internData)。
// this.internData.push(12);.
return this.internData。
},
whatFormat(){
console.log(typeof this.internData)
}
},
});
<script src="https://cdnjs. cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>/span>
<html>
<body>
<div id="app">
<h5> {{ data }}</h5>
< input v-model="internData" @input="onInputme" />
< button type="button" @click="transformData" > 點擊轉化</按鈕>
< button type="button" @click="whatFormat"> 什么資料型別</button>
</div>
<script src="https://cdnjs. cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>/span>
</body>
</html>/span>
<iframe name="sif1" sandbox="allow-forms allow-modals allow-scripts" class="snippet-box-edit snippet-box-result" frameborder="0"></iframe>
uj5u.com熱心網友回復:
你目前遇到的問題是,你沒有從transformData函式中更新internData,你應該在函式中用JSON決議的格式重新分配internData,就像下面這樣
transformData(){
this.internData = JSON。 parse(this.internData) 。
}
或者
你可以將transformData作為一個計算屬性,并觀察transformData的型別。在這里,你可以擺脫點擊事件來決議資料。
new Vue({
el: "#app"/span>,
data() {
return {
datatype: "foo"。
internData: "[1, 2, 3]"。
};
},
methods: {
whatFormat() {
console.log(this.transformData) 。
console.log(typeof this.transformData) 。
}
},
computed: {
transformData: function () {
return JSON.parse(this.internData)
}
}
});
<script src="https://cdnjs. cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>/span>
<div id="app">/span>
<input v-model="InternData" />
< button type="button" @click="hatFormat"> 什么資料型別</button>
</div>
<iframe name="sif2" sandbox="allow-forms allow-modals allow-scripts" class="snippet-box-edit snippet-box-result" frameborder="0"></iframe>
uj5u.com熱心網友回復:
你的transformData函式轉換了字串,但新創建的物件沒有被分配給internData屬性。
這樣做應該可以解決這個問題:
transformData(){
this.internData = JSON。 parse(this.internData) 。
},
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/307056.html
標籤:
