我是角度新手,遇到問題。使用輸入更新ng模型數據
我想從DB獲取承諾數據並通過輸入顯示它。
這是我輸入:
// not editable
<input type="text" ng-model="currentMedCenter.name"/>
這是我的控制器 'currentMedCenter' 模式:
function AccountProfileController($scope, medicalCenterService, doctorService) {
//get information from singleton service
$scope.currentMedCenter = medicalCenterService.currentMedCenter;
}
我得到$ http.get從數據庫數據,這些數據包在單服務。
這是單medicalCenterService:
.factory('medicalCenterService', function (MedicalCenterResource) {
var medicalCenterService = {};
medicalCenterService.currentMedCenter = MedicalCenterResource.getCurrentMedicalCenter();
return medicalCenterService;
})
這是查詢服務器:函數 'getCurrentMedicalCenter()':
getCurrentMedicalCenter: function() {
var deferred = $q.defer();
$http.get('Api/MedicalCenter/GetCurrentMedicalCenter').success(function(data) {
deferred.resolve(data);
});
return deferred.promise;
}
在服務器上查詢之後,我得到JSON對象如下:
{
"id": 1,
"name": "Medical center #1"
}
該對象成功存儲在單例服務medicalCenterService.cur rentMedCenter。 醫療中心名稱顯示在UI端的輸入中。
我想更新我的'currentMedcenter'模型,但是當我嘗試在輸入中編輯值時,我無法更改它中的任何內容。 我無法添加新符號或刪除前一個。
我正在使用1.0.8角度版本。
呼叫'medicalCenterService.currentMedCenter'。只有這樣才能進行AJAX調用,然後才能使其工作 – Abilash
我在AccountProfileController中調用了medicalCenterService.currentMedCenter: $ scope.currentMedCenter = medicalCenterService.currentMedCenter; –
您還沒有調用它..您正在將'medicalCenterService.currentMedCenter'的引用存儲在'$ scope.currentMedCenter'中...因此,您必須在'edicalCenterService.currentMedCenter'後面使用'()' – Abilash