Javascript 访问导出默认值-Vue之外的数据字段
我想知道是否可以访问Vue组件的javascript文件中的Javascript 访问导出默认值-Vue之外的数据字段,javascript,vue.js,Javascript,Vue.js,我想知道是否可以访问Vue组件的javascript文件中的导出默认值中的数据。我试图在calculateAndDisplayRoute()函数中获取routes数组的内容 overview.js function calculateAndDisplayRoute(directionsService, directionsDisplay) { var origin, dest; for (var route in this.routes /*<--HERE*/) { con
导出默认值
中的数据。我试图在calculateAndDisplayRoute()
函数中获取routes
数组的内容
overview.js
function calculateAndDisplayRoute(directionsService, directionsDisplay) {
var origin, dest;
for (var route in this.routes /*<--HERE*/) {
console.log('www')
if(route.id == this.filter){
console.log('true')
}
}
directionsService.route({
origin: 'Vancouver',
destination: 'Chicago',
travelMode: 'DRIVING'
}, function(response, status) {
if (status === 'OK') {
directionsDisplay.setDirections(response);
} else {
window.alert('Directions request failed due to ' + status);
}
});
}
export default {
name: 'fleet-overview',
data () {
return {
view: '',
routes: [], //<--HERE
users: [],
errorRoute: '',
response: [],
filter: 'searchby',
searchTerm: '',
users: [],
}
},
created: function () {
this.routeView();
},
methods: {
initMap: function(){
this.$nextTick(function(){
var directionsService = new google.maps.DirectionsService;
var directionsDisplay = new google.maps.DirectionsRenderer;
var map = new google.maps.Map(document.getElementById('map'), {
center: {lat: 45.49, lng: -73.61},
zoom: 9
});
directionsDisplay.setMap(map);
var onChangeHandler = function() {
calculateAndDisplayRoute(directionsService, directionsDisplay);
};
document.getElementById('filterselect').addEventListener('change', onChangeHandler);
})
}
//...
}
函数计算显示路径(方向服务、方向显示){
var来源,目的地;
对于(var route in this.routes/*,您可以使用它来适当地设置上下文(this
)
calculateAndDisplayRoute.call(this, directionsService, directionsDisplay);
或者您可以修改函数定义以接受上下文(您不能将其称为this
,但可以将其称为context
)
你是说我应该同时做这两件事(即.call()和context参数)?如果是这样,我会得到一个未捕获的TypeError:directionsService.route不是一个函数
。我正在尝试将上下文打印到控制台,但没有显示任何内容。它是一个或另一个。我会选择第二个(显式地传递上下文
,不要使用调用
)。但调用时确实需要将此
作为上下文
参数传递。到目前为止还不错,但是将上下文
打印到控制台会打印id为过滤器选择
的标记。我需要数据()中包含的字段
通过在onChangeHandler
外部将this
设置为thisContext
并将其传递给函数调用来获得它。onChangeHandler
内部的this
似乎更改为id为filterselect
function calculateAndDisplayRoute(context, directionsService, directionsDisplay) {
...
for (var route in context.routes /*<--HERE*/) {
console.log('www')
if(route.id == context.filter){
console.log('true')
}
}
...
}
calculateAndDisplayRoute(this, directionsService, directionsDisplay);