0
我的应用程序包含一个带有保存按钮的表单。当表单被提交时,函数save()
被调用,它执行一个ajax请求来提交表单。如何在ajax请求正在执行时创建指令,将按钮的文本更改为“正在加载...”,然后在请求完成时将其设置回“保存”?Angular指令在ajax之前和之后改变按钮状态
是一个指令正确的方法来解决这个问题,或者我想它是错误的方式吗?
我的应用程序包含一个带有保存按钮的表单。当表单被提交时,函数save()
被调用,它执行一个ajax请求来提交表单。如何在ajax请求正在执行时创建指令,将按钮的文本更改为“正在加载...”,然后在请求完成时将其设置回“保存”?Angular指令在ajax之前和之后改变按钮状态
是一个指令正确的方法来解决这个问题,或者我想它是错误的方式吗?
这是我平时做的(好吧,是玉,但你的想法吧?):
button(type="submit", ng-if="!saving") Save
button(type="button", ng-if="saving") Saving...
所以,在你的控制器只设置$scope.saving = true;
Ajax调用之前,改变它最后:
$scope.saving = true;
$http
...
.finally(function() { $scope.saving = false; });
如果你想给更多的信息,如显示成功(.then
)的东西或失败(.catch
),那么你可以使用ngSwitch
了。
不知道,但制定了一个这样的指令似乎过度使用,并没有这个解决方案那么灵活。
您好!请问我有一些反馈吗? – coma 2014-10-03 15:33:25