0

私は$scopeでアクセス・ナビゲーションを行い、クリックに基づいて使用しました。私はURLをURLに設定できません。正しいURLはhttp://www.example.com/base/indexまたはhttp://www.example.com/base/thread、またはhttp://www.example.com/base/tagです。 しかし、結果は常に 'http://www.example.com/base/indexでも、私は別のナビゲーションをクリックしました。

問題を検索したら、答えは$routeProvider$locationです。 $scopeと$ scope内にURLを設定することはできますか?

は、これは私のコードです:ところで

$scope.states = {}; 
$scope.states.activeItem = 'nav1'; 

    $scope.items = [{ 
     id: 'nav1', 
     target: 'home', 
     title: 'Home', 
     icon: 'fa fa-home fa-3x' 
    }, { 
     id: 'nav2', 
     target: 'thread', 
     title: 'Thread + Answer', 
     icon: 'fa fa-briefcase fa-3x' 
    }, { 
     id: 'nav3', 
     target: 'tag', 
     title: 'Tag', 
     icon: 'fa fa-briefcase fa-3x' 
    }, 
    { 
     id: 'nav4', 
     target: 'trending_tag', 
     title: 'Trending Tag', 
     icon: 'fa fa-briefcase fa-3x' 
    }, 
    { 
     id: 'nav5', 
     target: 'category', 
     title: 'Category', 
     icon: 'fa fa-briefcase fa-3x' 
    }, 
    { 
     id: 'nav6', 
     target: 'user', 
     title: 'User', 
     icon: 'fa fa-user-circle-o fa-3x' 
    }]; 

    $scope.callToAction = function(actionName){ 

     if($scope[actionName]){ 
      $scope[actionName](); 
     }else{ 
      alert("YOUR PAGE NOT FOUND BECAUSE AKU BELUM BUAT PAGE NYA HEHE"); 
     } 
    }; 

$scope.items私のナビゲーションを実行します。

+0

作業? – SPViradiya

+0

はい、そうです。しかし、私はその方法を使用する場合、URLを設定することに混乱しています。 – userpr

答えて

1

$location.urlを使用してページのURLを変更することができます。

$location.url('/yourUrl')は、/yourUrlになります。関数に変数としてStringを渡すことができます。あなたもして、現在のURLにアクセスすることができ

注:

$scope.currentUrl = $location.url(); // <-- No params 

は、あなたのサービス/コントローラーでinject$locationすることを忘れないでください!

+0

$ location.urlを$ scope.itemsに入れることはできますか?私はそれを意味する{ id: 'nav1'、 $ location.url(); } – userpr

+1

これはナビゲーションバー用ですか?必要に応じて 'ng-click'で' $ location.url( 'nav1') 'を呼び出すことができます。 – Mistalis

+0

はい、navbarです。しかし、それは動作しません。 URLは正しいが、ページが表示されない – userpr

0

ナビゲーションには$routeProviderを使用できます。

angular.module('FunnyAnt.Examples.Routing') 
.config(function ($routeProvider) { 
    $routeProvider. 
    when('/home', { 
     templateUrl: 'embedded.home.html', 
     controller: 'HomeController' 
    }). 
    when('/about', { 
     templateUrl: 'embedded.about.html', 
     controller: 'AboutController' 
    }). 
    otherwise({ 
     redirectTo: '/home' 
    }); 
}); 

限り、あなたが右、メニュー、または何かに積極的にURLを表示するために作成したコードに望んでいたと思われるようfiddle here

関連する問題