付款成功页面AngularJS

时间:2014-11-13 15:23:57

标签: javascript html angularjs payment

正确的AngularJS方法是什么:

我有一个页面接受一些用户信息和付款(通过条纹)。

付款成功后,我需要向用户显示一条消息,说明已被接受。

我是否将两个视图组合在同一部分中(我怀疑不是),然后根据某个范围变量的状态显示一个,即$scope.paymentAccepted

<form ng-if='!paymentAccepted'>
    ...
</form>

<div id='paymentSuccess' ng-if='paymentAccepted'>
    <p>Your payment has been accepted</p>
</div>

或者我是否使用$location服务提供商将用户定向到另一个位置,然后从那里使用单独的视图和控制器(我怀疑是这样)。

这称之为挑剔,但我想阻止用户直接访问我的付款页面,这就是为什么我想以第一种方式做到这一点。

处理此问题的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

如果您使用ui-router,您可能会有一个不支持URL的子状态。然后,您只需要向控制器注入$ state,并在成功完成付款后转换到相关状态,例如$state.go('home.payment.success')

编辑:假设您正在从父级转换(&#39; home.payment&#39;在此示例中),您实际上将子状态引用为$state.go('.success')