VueJS 设置输入字段数据
VueJS set Input field data
当我从另一个函数接收到更新信息时,我想用 VueJS 设置输入字段的值。我不太清楚,如何在函数 getLatLng returns 时更新输入字段的值。当我在控制台上输出时,它运行良好,所以功能正常。但是如何正确连接我的输入字段以显示纬度值?我需要计算 属性 吗?还是普通的?
HTML
<form>
<input type="text" class="Form" placeholder="Latitude" v-model="latitude" value="@{{ latitude }}">
</form>
VUE
var Vue = require('vue');
import VueResource from 'vue-resource';
Vue.use(VueResource);
window.app = new Vue({
el: '#GISContainer',
// Data to be stored
data: {
// Save Data for address, latitude and longitude
address: '',
latitude: '',
defaultMapLocation: 'Fichtenstrasse 30 82256',
// Responder Information
responders: [
{id: 1, name: 'Test 1'},
{id: 1, name: 'Test 2'},
]
},
// Methods
methods: {
init: function() {
initGISMap(this.$els.map);
this.address === '' ? setMapLocationToAddress(this.defaultMapLocation) : setMapLocationToAddress(this.address);
},
setMapToSearchAddress: function() {
setMapLocationToAddress(this.address);
getLatLng(this.address, function(latlng) {
this.latitude = latlng[0];
})
}
}
});
外部 JS 函数
function geocodeAddress(address, callback) {
var geocoder = new google.maps.Geocoder();
geocoder.geocode({ address: address }, function(results, status) {
if (status === google.maps.GeocoderStatus.OK) {
if (results.length > 0) {
callback(results[0].geometry.location);
} else {
console.log("No results found");
}
} else {
console.log("Geocoder failed due to: " + status);
}
});
}
function getLatLng(address, callback) {
latLng = [];
geocodeAddress(address, function(position) {
latLng.push(position.lat());
latLng.push(position.lng());
callback(latLng);
});
}
要设置 latitude
,您应该 bind this
关键字:
getLatLng(this.address, function(latlng) {
this.latitude = latlng[0];
}.bind(this))
当我从另一个函数接收到更新信息时,我想用 VueJS 设置输入字段的值。我不太清楚,如何在函数 getLatLng returns 时更新输入字段的值。当我在控制台上输出时,它运行良好,所以功能正常。但是如何正确连接我的输入字段以显示纬度值?我需要计算 属性 吗?还是普通的?
HTML
<form>
<input type="text" class="Form" placeholder="Latitude" v-model="latitude" value="@{{ latitude }}">
</form>
VUE
var Vue = require('vue');
import VueResource from 'vue-resource';
Vue.use(VueResource);
window.app = new Vue({
el: '#GISContainer',
// Data to be stored
data: {
// Save Data for address, latitude and longitude
address: '',
latitude: '',
defaultMapLocation: 'Fichtenstrasse 30 82256',
// Responder Information
responders: [
{id: 1, name: 'Test 1'},
{id: 1, name: 'Test 2'},
]
},
// Methods
methods: {
init: function() {
initGISMap(this.$els.map);
this.address === '' ? setMapLocationToAddress(this.defaultMapLocation) : setMapLocationToAddress(this.address);
},
setMapToSearchAddress: function() {
setMapLocationToAddress(this.address);
getLatLng(this.address, function(latlng) {
this.latitude = latlng[0];
})
}
}
});
外部 JS 函数
function geocodeAddress(address, callback) {
var geocoder = new google.maps.Geocoder();
geocoder.geocode({ address: address }, function(results, status) {
if (status === google.maps.GeocoderStatus.OK) {
if (results.length > 0) {
callback(results[0].geometry.location);
} else {
console.log("No results found");
}
} else {
console.log("Geocoder failed due to: " + status);
}
});
}
function getLatLng(address, callback) {
latLng = [];
geocodeAddress(address, function(position) {
latLng.push(position.lat());
latLng.push(position.lng());
callback(latLng);
});
}
要设置 latitude
,您应该 bind this
关键字:
getLatLng(this.address, function(latlng) {
this.latitude = latlng[0];
}.bind(this))