Angular 组件 w/o URL

Angular Component w/o URL

我是 AngularJS (v 1.6) 的新手,所以这可能是个愚蠢的问题。

我正在尝试创建一个将在我的应用程序主页上使用的组件。不会向它传递任何数据,而是我将进行 API 调用。

目前情况如下:

class MyInboxController {
    constructor(api) {
        this.api = api;
        this.$onInit = () => {
          this.count = this.api.getAllMessages().then(function(data) { data.length });
        }
    }
}

MyInboxController.$inject = ['api'];

export const myInboxComponent = {
    template: require('./my-inbox.html'),
    controller: MyInboxController
};

基本上,这个组件将存在于我的导航应用程序的主页上。我的问题是,当我调用 oninit 中的 api 服务时,它似乎永远无法及时获取数据以供页面加载。任何建议都会很棒。

代码可能应该是:

class MyInboxController {
    constructor(api) {
        this.api = api;
        this.$onInit = () => {
          api.getAllMessages().then( (data) => {
            this.count = data.length 
          });
        };
    }
}

returns 承诺的 .then 方法。需要使用提供给 .then 方法的函数提取 promise 的值。