gpt4 book ai didi

javascript - 如何访问组件javascript文件中的属性?

转载 作者:行者123 更新时间:2023-11-28 18:32:55 24 4
gpt4 key购买 nike

我目前正在开发一个 ember 应用程序。

目前,我正在尝试访问在组件 js 文件内的路由中设置的属性。

总体来说是从路线内的 Facebook Graph API 获取数据(作为某种模型),然后访问组件内的这些数据以在 map 上绘制点。

我的模板如下所示:

// map.hbs
{{map-widget posts=posts}}

我的路线如下:

// routes/world.js
import Ember from 'ember';
import AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin';

export default Ember.Route.extend(AuthenticatedRouteMixin, {
fetchAllGeotaggedPosts() {
return new Promise((resolve, reject) => {
let postsArr = [];
function recursiveAPICall(apiURL) {
FB.api(apiURL, response => {
if (response && response.data) {
// Add response to posts array (merge arrays), check if there is more data
postsArr = postsArr.concat(response.data);
if (response.paging && response.paging.previous) {
recursiveAPICall(response.paging.previous);
} else {
// console.log(postArr)
resolve(postsArr);
}
} else {
reject();
}
})
}
recursiveAPICall('/me/feed?fields=id,name,message,picture,place,with_tags&with=location');
})
},

beforeModel(transition) {
this._super(transition);
return this.fetchAllGeotaggedPosts().then(response => {
this.set('posts', response);
// console.log(this.get('posts'))
})
},

model: function() {
//console.log(this.get('posts'))
return this.get('posts'));
}
})

我的组件(我想访问该属性的地方)如下所示:

// components/world.js
didRender() {
console.log(this.get('posts'))
}

我的问题是帖子在组件内始终未定义,这意味着它没有接收或无法访问该值。

我能够访问 beforeModel 和模型 Hook 中的 post 值,因此我确信该 Promise 会通过 Facebook 的帖子进行解析,并且不会被拒绝。

我还尝试设置一个字符串值,这也导致未定义。

有人有解决方案或认识到我的代码中的错误吗?

提前致谢。

最佳答案

您正在将帖子传递给组件,但帖子未定义,您想要的是这个。
{{ map 小部件帖子=模型}}
您可以访问返回帖子的模型函数,但无法访问帖子,因为它们没有在任何地方定义。

关于javascript - 如何访问组件javascript文件中的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37644114/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com