0

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

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 时。

4

1 回答 1

1

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

于 2013-05-19T16:35:30.157 回答