AngularJS 异步问题。如何从另一个组件加载数据

angularjs async issue. how to load data from another component

提问人:jondar 提问时间:3/4/2022 最后编辑:jondar 更新时间:3/4/2022 访问量:156

问:

我必须使用“set timeout”从父组件获取数据,这样我就可以在

我希望用 promise 或异步函数替换它。但我似乎无法正确理解语法。

代码如下:

angular.
  module('fwcForms').
  component('tableFreetext', {
    templateUrl: _formPath+'/fwc-form/components/table-freetext.template.html',
    bindings: {
      model: '=',
    },
    controller: function TableFreetextController() {
      var self = this;
      this.$onInit = function() {
        setTimeout(()=>{
          self.newValue = self.model.dataRowsPlaceholder;
        },1000);
      }
    }
  });

我想替换:

setTimeout(()=>{
  self.newValue = self.model.dataRowsPlaceholder;
},1000);

像这样的东西

let myPromise = new Promise(function() {
 return self.model.dataRowsPlaceholder
});

myPromise.then(data=>{
  self.newValue = self.model.dataRowsPlaceholder
});

但这行不通。 它一直说“self.model.dataRowsPlaceholder”是“未定义”的。

JavaScript AngularJS 异步 promise settimeout

评论

0赞 Bravo 3/4/2022
当你做“类似”的事情时会发生什么——你说你不能得到正确的语法,所以展示你做了什么,这样你就可以了解为什么你的语法是错误的
0赞 jondar 3/4/2022
“self.model.dataRowsPlaceholder”来自另一个组件。当当前组件加载时,我无法将“self.model.dataRowsPlaceholder”放在页面上,因为它的加载速度不够快。

答: 暂无答案