在输入框中显示来自1个对象的数据,并使用另一个对象

时间:2017-02-14 07:46:36

标签: angularjs

我点击表格行来编辑模态中的字段。模态必须具有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" />

enter image description here

我能够在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)
    }
}

1 个答案:

答案 0 :(得分:1)

您必须从editObject.emailnewObject.email制作一份深层副本。在editOject.email指定了值后,可以在控制器中以这种方式完成此操作。

$scope.newObject.email = angular.copy($scope.editObject.email);