2

在下面的示例中,message当我在事件触发后在控制器中显示它时未定义。为什么?

<form>
  <input type="text" ng-model="message.Title" />
  <textarea ng-model="message.Content"></textarea>         
  <input type="submit" value="Send Message" ng-click="sendMessage(message)" />
</form>

控制器:

$scope.sendMessage = function(message) {
  console.log(message);
}

我的代码似乎与此处的文档相同,除了我的控制器管理整个“页面”而不仅仅是表单。

4

2 回答 2

4

哇没关系,显然当您使用空白值提交时,它甚至不会创建对象。

于 2013-02-21T17:46:07.307 回答
4

我看到你已经找到了你的问题,但我想提出一个解决方案来防止你的问题:

<form name="messageForm" ng-submit="sendMessage(message)">
  <input type="text" ng-model="message.Title" required/>
  <span ng-show="messageForm.title.$error.required && messageForm.title.$dirty">required</span><br/>
  <textarea ng-model="message.Content"></textarea>         
  <input type="submit" value="Send Message" ng-disabled="messageForm.$invalid" />
</form>

以上将要求标题,显示错误消息,如果表单无效,则禁用您的提交按钮。

于 2013-02-21T18:32:28.580 回答