用于更新用户详细信息的Angular Form提交 - 失败

时间:2015-05-04 22:29:33

标签: javascript html json angularjs

目的

表单提交应更新用户详细信息。用户输入信息时,网站应显示用户详细信息。请注意,“novalidate”已启用且“email”输入是必需的(因此,只有在提交了正确的电子邮件后才会显示user.email信息。)

现场演示

http://plnkr.co/edit/z9ActiAn7sAIeY83xkxO?p=preview

的index.html

<!DOCTYPE html>
<html ng-app="formExample">

<head>
  <title>Anna Dowlin</title>
  <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.0-rc.1/angular.min.js"></script>
  <script src="app.js"></script>
</head>

<body>
  <div ng-controller="SubmitCtrl">
    <p>Insert Email Below and watch User information be updated</p>
    <form novalidate>
      <input type="email" placeholder="Your email" ng-model="user.email" required>
      <input type="submit" ng-click="submit(user)">
    </form>
  </div>
  <pre>form = {{user | json}}</pre>
</body>

</html>

app.js

(function() {

  var app = angular.module('formExample', []);

  app.controller('SubmitCtrl', ['$scope',
    function($scope) {
      $scope.master = {};

      $scope.submit = function(user) {
        $scope.master = angular.copy(user);
      };

    }
  ]);
});

问题

  1. 我不确定我在哪里错了。正如您在现场演示(http://plnkr.co/edit/z9ActiAn7sAIeY83xkxO?p=preview)中看到的那样,预览不会呈现“{{user | json}}。 {{user | json}} not rendering

  2. 如果我将app.js放入HTML中的标签并删除“... var app =”,那么{{user | json}}消失(但不完全渲染)。为什么是这样? {{user | json}} partial render?

1 个答案:

答案 0 :(得分:3)

您的预览位于您的div之外,使用ng-controller。尝试将其移动到div中。