1

一部の URL パラメータに応じて、タブの 1 つをアクティブにしようとしています (タブは既にテンプレートに含まれています)。残念ながら、この例のように ng-repeat を使用していても、デフォルトで html template で最初に見つかったものが常にアクティブになります。

これは機能しません:

$scope.tabs = {
        title2: {active:false, content:"Hello world 2!"},
        title3: {active:false, content:"Hello world 3!"},
        title4: {active:false, content:"Hello world 4!"}
    }
    $scope.tabs.title4.active = true;

ここにフィドルがあります:http://jsfiddle.net/alexrada/KFAXH/5/

4

2 に答える 2

0

コントローラー内で $routeParams サービスを使用し、そこから $scope アクティブ値を設定する必要があります。これらの行に沿って何か:

.controller('MyTabCtrl', function($scope, $routeParams) {
  $scope.tabs[$routeParams.active].active = true;
})

URL の場所/?active=title4

$routeProvider サービスも設定する必要があります。JSFiddleが再び使用可能になったら、フォークを動作させることができるかどうかを確認します(現在は非常に遅いです...)

于 2013-10-25T06:14:35.017 に答える