我点击表格行来编辑模态中的字段。模态必须具有2个功能(添加或编辑),具体取决于GET请求数据,如下所示。
$scope.editInterview = function(id) {
$http.get('/api/getinterview/' + id).then(function(response) {
editedObject = response.data.item
}
HTML
<label ng-if="editedObject.email">{{editedObject.email}}</label>
<label ng-if="!editedObject.email">Email</label>
<input ng-model="newObject.email" />
我能够在labels
中显示该对象,但这没有多大帮助,因为需要在输入框中显示数据以进行编辑和保存。
如何在输入中显示来自editedObject.email
的数据,以便我可以使用newObject.email
保存?
我尝试了ng-init="editedObject.email"
,但它不起作用。还有其他ng-something
这样做,或者我应该以另一种方式做到这一点吗?
更新
编辑和更新方法,两者都在mainController中。
$scope.editInterview = function(id) {
$http.get('/api/getinterview/' + id).then(function(response) {
editedObject = response.data.item
})
}
//Controller for the Modal
function DialogController($scope, $mdDialog, editedObject) {
$scope.editedObject = editedObject
$scope.submitObject = function(newObject) {
$http.post('/api/interview', newObject)
}
}
答案 0 :(得分:1)
您必须从editObject.email
到newObject.email
制作一份深层副本。在editOject.email
指定了值后,可以在控制器中以这种方式完成此操作。
$scope.newObject.email = angular.copy($scope.editObject.email);