在angularjs中提交表单后清除输入

时间:2013-05-19 16:29:38

标签: angularjs

在表单提交后清除输入时我有些困惑。代码如下。

HTML:

<form novalidate method="POST">
   <input ng-model="person.firstName" type="text" id="firstName" />
<button ng-click="edit(person)" name="saveBtn" >{{text}}</button>

控制器:

app.controller('PersonCtrl', function ($scope, $routeParams, personService) {

    $scope.init = function () {
       $scope.person = {};
    };

    $scope.edit = function (person) {
        personService.insertPerson(person.firstName);
        person.firstName = "";
    };

    $scope.init();
});

问题: 如果我使用person.firstName = ""; OR $scope.person.firstName = "";两者都有相同的行为和清除输入罚款。它如何知道html中的person.firstName,我没有提到任何范围* *。不知道这是否是有效的问题,但每当我需要与html绑定值进行交互时,需要使用$ scope。

1 个答案:

答案 0 :(得分:1)

这是因为$ scope.person和person指向$ scope.edit函数中的同一个对象($scope.person === person为真)。