在以下示例中,在事件触发后在控制器中显示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);
}
控制器:
{{1}}
我的代码与文档here完全相同,只是我的控制器管理整个“页面”而不仅仅是表单。
答案 0 :(得分:4)
哇没关系,显然当你提交空白值时,它甚至都没有创建对象。
答案 1 :(得分: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>
以上将使标题成为必需,显示错误消息,并在表单无效时禁用提交按钮。