模型更新后的AngularJS表单发布
这似乎很愚蠢,但基本上我想要实现的是非常简单的。我有一个控制器的功能,更新我的模型,然后我必须做一个提交 问题是:提交发生在DOM元素收到相应于模型的值之前,POST数据变为空 下面是我的小提琴问题: AngularJS:模型更新后的AngularJS表单发布,angularjs,Angularjs,这似乎很愚蠢,但基本上我想要实现的是非常简单的。我有一个控制器的功能,更新我的模型,然后我必须做一个提交 问题是:提交发生在DOM元素收到相应于模型的值之前,POST数据变为空 下面是我的小提琴问题: AngularJS: var app = angular.module('myApp',[]).run(function($rootScope){ $rootScope.Query = { Name: null, Age: null }; $rootScope.Submi
var app = angular.module('myApp',[]).run(function($rootScope){
$rootScope.Query = { Name: null, Age: null };
$rootScope.Submit = function(){
$rootScope.Query.Name = 'Roger';
$rootScope.Query.Age = '34';
document.getElementById('frmApp').submit();
}
})
HTML:
一些头衔
尝试$apply或$digest。。。但是,在实际应用中,这些都是隐藏字段,我尝试了$apply,但angular说它在$apply中一直存在。实际上,我可以使用$timeout服务获得解决方案,但我对这种反模式解决方案感到恶心。AngularTeam应该为这种情况提供一个“Angular DOM Ready Wrapper”,否则我就遗漏了一些东西……我从来没有遇到过需要这种解决方案的情况,也因为iframe在这种情况下是一个黑盒,但我认为这可能是javascript问题,而不是特定于Angular的问题。但我可能错了。如果我能找到解决办法,今晚我会花一些时间。你在官方文档中找到什么了吗?我没有在应用程序中使用iframe,iframe只是不在jsfiddle之外提交,而是一直关注browser developer视图的network选项卡。正如您所看到的,这些值不会在querystring数据中传递
<body ng-app="myApp">
<form id="frmApp" target="ifrmTarget" action="anywhere">
<input type="text" name="Name" ng-model="Query.Name" />
<input type="text" name="Age" ng-model="Query.Age" />
<a ng-click="Submit()">Some Title</a>
</form>
<iframe name="ifrmTarget"></iframe>
</body>