我的主应用程序页面中有以下代码,如果您使用VueJS(我现在开始使用),这可能很熟悉:
//written in ES6
const app = new Vue({
el: '#app',
data: function(){ return {
query: {},
requests: [],
original: {},
assignees: {},
transiting: false,
editing: false,
}},
created: function () {
console.log(this.requests); //this works
console.log(app.requests); //this also works
this.doSomething('bar');
},
methods: {
doSomething: function(arg){
console.log('foo is a '+arg); //this works too
}
}
});
但是,我的组件JavaScript如下所示。这个
created
正在运行-我已经检查过了-但我似乎无法以相同的方式访问我的数据和方法,主要是因为我不熟悉“导出默认值{}”
export default {
name: 'request-tracking-calendar',
data: {
events: [
{
id: 10,
name: 'Boris',
ssn: '515860000',
},
{
id: 11,
name: 'Natasha',
ssn: '575860001',
},
]
},
created: function(){
console.log('Updating events dynamically..');
{
//code omitted for clarity
var xhr = new XMLHttpRequest();
// etc.
xhr.onload = function(a) {
if (xhr.status === 200) {
for (var i in xhr.response.data){
//DOESN'T work! not a function
console.log(this.convertJSONToEvent(xhr.response.data[i]));
}
console.log(this.events); //DOESN'T work
}
};
xhr.send();
}
},
methods: {
convertJSONToEvent(o){
//do something to o..
console.log('o was modified');
return o;
},
如何让第二个示例中的上述调用在这里工作?一、 e.我将如何访问数据和方法?a是否可以同时声明变量和“导出默认值”,以便导出的默认值可以引用自身?