2016-06-07 79 views
1

我有下面的代碼,我試圖用一個函數的返回值來初始化一個對象的屬性。用返回值初始化對象

$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,但它不會工作,只是不斷返回空。我在這裏錯過了很明顯的東西嗎

+3

後的*真正*代碼。你在做什麼應該工作,除非你做錯了什麼。但是,除非發佈實際代碼,否則我們無法確定。另外,如果您在控制檯中發現錯誤,那也是非常有用的。 – Pointy

+0

也許'someFuncThatReturnsArray()'返回一個Promise,並且你正在測試它的解析值? –

+0

這就是問題所在,它回覆了一個承諾,謝謝! –

回答

3

這可能是因爲調用SPListUtility.GetChoiceOptionsJson()返回一個承諾,在這種情況下,你必須解決的返回值,就像這樣:

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