2

在下面的 Angular 应用程序中,为什么不要在模型更改{{myForm}}{{myForm.userTypeInput}}更新。userTypeInput

<!doctype html>
<html ng-app>
<head>
    <script src="http://code.angularjs.org/1.0.6/angular.min.js"></script>
    <script>
        function Ctrl($scope) {
            $scope.userType = 'guest';
        }
    </script>
</head>
<body>

<form name="myForm" ng-controller="Ctrl">
    userType: <input name="userTypeInput" ng-model="userType">

    <tt>userType = {{userType}}</tt><br>
    <tt>myForm = {{myForm}}</tt><br>
    <tt>myForm.userTypeInput = {{myForm.userTypeInput}}</tt><br>

</form>

</body>
</html>

第一行根据模型中所做的更改进行更新,但最后几行始终保持不变:

myForm = {"userTypeInput":{}}
myForm.userTypeInput = {}

虽然我希望它们会根据我输入的值而改变userTypeInput

4

1 回答 1

1

元素的 name 属性在 Angular 如何处理 DOM 元素方面没有任何作用,ng-model、ng-app 和 ng-controller 是 Angular 能够识别的 HTML 中唯一的部分(以及数据绑定)。由于 Angular 在解析绑定变量时不查看 name 属性,因此不会更新其他两个,Angular 只查看范围内的变量。

于 2013-08-11T01:37:30.663 回答