我有一个按钮(在第1部分中),点击执行一个功能来更新视图,然后再转到下一部分(第2部分)。
<button ng-click="checkout.updateView(info)" ng-disabled="checkout.isUpdatingView" ui-sref="view.section2" class="layout__section1>
<span ng-hide="checkout.isUpdatingView">Update and Continue</span>
<span ng-show="checkout.isUpdatingView">Updating <span class="spinner"></span></span>
</button>
它调用函数
vm.isUpdatingView = false;
function updateView(info) {
vm.isUpdatingView = true;
..does some stuff and on success...
vm.isUpdatingView = false;
}
问题是点击这个按钮直接转到第2部分因为ui-sref
..我需要它才能在视图成功更新后转到第2部分。我希望微调器能够反映UpdatingView
过程。我如何改变这一点,以便ui-sref
在调用isUpdatingView
后观察 <div style="padding: 1vw;">
<a href="/virtualscribe" class="camLink">
<div class="camDiv">
<div class="camBox" id="picBoxLeft">
<canvas id="canvasLeft" class="camBorder"></canvas>
</div>
</div>
</a>
<a href="/videos" class="camLink">
<div class="camDiv">
<div class="camBox" id="picBoxCenter">
<canvas id="canvasCenter" class="camBorder"></canvas>
</div>
</div>
</a>
<div class="camDiv">
<div class="camBox" id="picBoxRight">
<canvas id="canvasRight" class="camBorder"></canvas>
</div>
</div>
</div>
的变化,如果成功则调用第2节?我是Angular的新手,所以任何其他建议都值得赞赏!
答案 0 :(得分:1)
不要在模板中使用ui-sref
,而是在函数中使用$state.go()
。只需添加
if(vm.isUpdatingView == true) {
$state.go("view.section2"):
}
更多信息here