2016-03-21 47 views
0

我有一個按鈕(在第1部分),點擊執行一個功能來更新視圖,然後再轉到下一部分(第2節)。基於watcher布爾值執行ui-sref?

<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後觀察其變化,如果成功則調用第2部分?我對Angular完全陌生,所以有任何其他建議都會受到讚賞!

回答

1

而不是在模板中使用ui-sref,在該函數中使用$state.go()。只需添加

if(vm.isUpdatingView == true) { 
    $state.go("view.section2"): 
} 

更多信息here