2013-10-14 8 views
22

Come posso modificare il route.state utilizzando ng-clic anziché un collegamento che applica ui-sref.AngularJS cambia rotta con ng-clic utilizzando ui-router

Ho provato questo:

<button ng-click="selectDir(file.fullPath)">set</button> 

con

$scope.selectDir = function(location) { 
    options.storageLocation = location; 
    $route.current = 'recorder.options'; 
} 

Ma non funziona. Qualche idea?

+0

ui-sref Vai a questa risposta: http://stackoverflow.com/a/21105057/2539811 –

risposta

37

Dai un'occhiata alla wiki della documentazione per l'ui-router.

La soluzione migliore è utilizzare $state.go(). ad esempio, $state.go('recorder.options')

Ecco il link alla funzione specifica nella documentazione: https://github.com/angular-ui/ui-router/wiki/Quick-Reference#stategoto--toparams--options

+1

tyvm, ho provato che prima . ma ho dimenticato di iniettare lo stato $ .. quindi non ha funzionato. Adesso tutto va bene .. thx molto :) – marcel

+7

Un modo per iniettare '$ stato' in tutte le viste è usando' angular.module ('miaApp'). Run (['$ rootScope', '$ stato', funzione ($ rootScope, $ state) {$ rootScope. $ state = $ state;}]); '. – chipit24

+2

Vedere https://github.com/angular-ui/ui-router/wiki/Quick-Reference#note-about-using-state-within-a-template – chipit24

Problemi correlati