1
我有一個使用ASP.net Web API後端的angularjs前端。我在我的選擇列表中使用以下代碼:AngularJS在調用Restful Service和Scope對象更新後選擇值丟失
<select id="package" class="form-control" ng-options="package as package.Name for package in request.PackageServices.Packages" ng-model="request.Package">
<option value="">No Package</option>
</select>
選擇列表正確填充並按預期輸出包。
選擇更改後,request.Package項目會正確更新所選包。
將請求對象發佈到Web API寧靜服務後,它正確包含正確的包。
在web api發送restful響應回到客戶端,請求對象包含正確的包。
問題在於,在對API服務進行調用並且API服務響應發回新的請求對象之後,選擇列表丟失了正確的選定值。
這裏是saveRequest方法是什麼樣子:
$scope.saveRequest = function (request) {
console.log(request);
//the request.Package contains the correct Package here!
applicantLinkData.create(request)
.$promise.then(
function (resp) {
$scope.request = resp.Request;
console.log(resp.Request);
// the resp.Request.Package contains the right package here!
},
function (resp) {
//failure... do something
}
);
};
我不知道如何解決這個問題,它的但基本上後saveRequest方法稱爲選擇列表中的HTML重置回「不包「而不是保留正確選擇的軟件包。
好的 - 這兩個選項哪個最好?我對角度非常陌生,剛開始本週編碼。對我而言,聽起來像#1選項可能是更好的方式來做事 - 這是正確的嗎? – 99823
@ 99823:我個人喜歡#1,因爲我從未遇到過你的問題。在與SPA合作時,我只更新「更改內容」以提高性能。我不'替換整個對象。但我不能說這是最好的解決方案,每個人對什麼是最好的都有不同的看法。只需使用最適合您的解決方案即可。 –
謝謝我現在要測試選項1,看看選擇是否正常工作 - 再次感謝 – 99823