使用返回值初始化对象

时间:2016-06-07 19:37:22

标签: javascript angularjs

我有以下代码,我试图使用函数的返回值来初始化对象的属性。

$scope.data = {
  trackingItemStatus: {
    options: SPListUtility.GetChoiceOptionsJson(),
    defaultOption: {value: 'Active', text: 'Active'}
  }
}

在我从上面的服务返回之前,我记录了要返回的变量,它返回如下所以我知道它应该正常工作:

[{"text":"Active","value":"Active"},{"text":"Closed","value":"Active"},{"text":"On-Hold","value":"On-Hold"},{"text":"Resolved","value":"Resolved"}]

我觉得这应该很简单。我只想将我的函数的返回值分配给data.item.options但它不会工作只是保持空白。我错过了一些明显的东西吗?

1 个答案:

答案 0 :(得分:3)

SPListUtility.GetChoiceOptionsJson()的调用可能会返回一个承诺,在这种情况下,您必须解析返回的值,如下所示:

SPListUtility.GetChoiceOptionsJson().then(function (value) {
  $scope.data = {
    trackingItemStatus: {
      options: value,
      defaultOption: {value: 'Active', text: 'Active'}
    }
  };
});