我有一個由填充數組vendors
的API填充的select
列表。當模型被另一個進程更新時,選擇下拉列表不會更新
<select ng-model="po.vendor" ng-options="vendor as vendor.VendorName for vendor in vendors"></select>
po.vendor
然後通過其下游的API過程更新。我的問題是,下拉列表不會更新以反映更改。
控制器:
//fill the array so we can populate our dropdown list
$scope.vendors = $scope.vendors || [];
if ($scope.vendors.length < 1) loadExistingVendors();
//load some purchase order by id
getPurchaseOrderById(1);
function getPurchaseOrderById(purchaseOrderId) {
apiService.getPurchaseOrderById(purchaseOrderId).then(function (data) {
//apply po to the model
applyPurchaseOrderModel(data);
}, function (error) {
//blah
});
}
function applyPurchaseOrderModel(data) {
//need to convert c# date to json data
var regex = /-?\d+/;
var match = regex.exec(data.dateRequested);
var date = new Date(parseInt(match[0]));
data.dateRequested = date;
//set the po object to data, data.vendor contains selected vendor info
$scope.po = data;
}
據我<pre></pre>
輸出中的模型(po.vendor
)和數組(vendors
)的,我看它們是否匹配。但select元素沒有更新以反映這一點。爲什麼?
<h3>po.vendor</h3>
<pre>{{po.vendor | json}}</pre>
<h3>vendors array at the 6 position</h3>
<pre>{{vendors[6] | json}}</pre>
Click here爲<pre>
輸出的圖像。
在哪裏你設置po.vendor?你需要設置它,我不會看到你的任何地方。 –
@DavidL在'applyPurchaseOrderModel'中,最後一行有'$ scope.po = data'。 'data'包含data.vendor下的供應商對象。 – Kyle
您是否確定「API進程下游」正在更新'po.vendor'引用的'vendor'內存實例? –