2017-11-15 15 views
1

私は別のアプリの場所にリダイレクトしたい場所から工場を持っています 'use strict';AngularJSと工場内でリダイレクト

index.htmlファイルステップコントローラが wizard工場をロードしているが、どういうわけか、私はできませんよ

に基づいて

<a href="" ng-click="wizard.doSteps(1)" type="button" class="btn btn-circle" ng-class="{'btn-default': step !== 1, 'btn-primary': step === 1 }" id="step-1">1</a> 

などのボタンのリンクによってトリガーされると仮定されて

myApp.factory('wizard', ['$rootScope', '$location', function ($rootScope, $location){ 

    return { 

     doSteps: function(step){ 

      switch (step){ 
       case 1 : 
        $location.path('/'); 
        $rootScope.$apply(); 
        break;    
       case 2 : 
        $location.path('start'); 
        $rootScope.$apply(); 
        break; 
       case 3 : 
        $location.path('tutorial'); 
        $rootScope.$apply(); 
        break; 
       case 4 : 
        $location.path('finish'); 
        $rootScope.$apply() 
        break;     
       default: 
        $location.path('/'); 
        $rootScope.$apply(); 
      } 
     } 
    } 

}]); 

その工場の機能をng-clickに実行する。

私はこの権利をしているかどうかですか?

+1

でNGクリック= "doStepts(1)" '' html'で、あなたのコントローラ '$の範囲で'てみてください。 doSteps = function(i){wizard.doSteps(i)} ' –

+0

@UsmanRanaこの場合、工場から' $ rootScope。$ apply(); 'を削除する必要があります。ソリューションとして投稿することができます。 – JackTheKnife

+0

あなたの質問が解決された場合は、 –

答えて

1

は、HTML で

ng-click="doStepts(1)" 

を試してみて、あなたのコントローラ

$scope.doSteps=function(i){wizard.doSteps(i) } 
関連する問題