我正在使用getJSON调用一个外部Web服务,该服务返回一个字符串数组。 我有一个选择绑定到JSON数据。但是下拉列表不显示数据。 IE控制台显示数据数组。如果我将其输出为表格,它将显示在浏览器中。有什么想法吗?
例如:json返回数据(IE控制台): [“ process1 \ test1”,“ process2 \ test1”,“ process3 \ test1”,“ process3 \ test2”]
代码:
<script type="text/javascript">
var app1 = new Vue({
el: '#app1',
data: {
selected: '',
options: []
},
methods: {
getData: function () {
$.getJSON("https://testapp/getmyprocesses?callback=?", function (data) {
this.options = data;
console.log(JSON.stringify(data));
});
}
},
mounted: function () {
this.getData();
}
});
</script>
<div id="app1">
<select v-model = "selected">
<option value="">Select a Process</option>
<option v-for = "option in options" v-bind:value="option">
{{ option }}
</option>
</select>
<span>Selected: {{ selected }}</span>
</div>
谢谢 Venky
答案 0 :(得分:1)
使用箭头功能(data)=>
代替function (data) {...
,如下所示:
getData: function () {
$.getJSON("https://testapp/getmyprocesses?callback=?",(data)=> {
this.options = data;
console.log(JSON.stringify(data));
});
}
使用您的旧语法,您应该会遇到此错误:
这是未定义的