2015-08-15 53 views
1

我有我的路由器下面的代碼:UI-路由器:URL的變化,但鑑於沒有加載

.config(['$stateProvider', '$urlRouterProvider', '$locationProvider', function($stateProvider, $urlRouterProvider, $locationProvider) { 

    $stateProvider 
    .state('main', { 
     url: '/', 
     templateUrl: 'templates/main.html', 
     controller: 'MainCtrl' 
    }) 
    .state('login', { 
     url: '/login', 
     templateUrl: 'templates/login.html', 
    }) 
    .state('signup', { 
     url: '/signup', 
     templateUrl: 'templates/signup.html', 
     controller: 'SignupCtrl' 
    }) 
    .state('userEdit', { 
     url: '/user/edit', 
     templateUrl: 'templates/user/edit.html', 
     controller: 'UserEditCtrl' 
    }) 
    .state('workouts', { 
     url: '/workouts', 
     templateUrl: 'templates/workouts/index.html', 
     controller: 'WorkoutsCtrl' 
    }) 
    .state('workouts.show', { 
     url: '/:id', 
     templateUrl: 'show.html', 
     controller: 'WorkoutCtrl', 
     onEnter: function() { 
     console.log('this is stupid'); 
     } 
    }) 

    $urlRouterProvider.otherwise('/'); 

}]) 

我的問題是與workouts.show狀態。我有此鏈接:

<div class="" ng-repeat="workout in workouts track by workout._id"> 
    <hr> 
    <a ui-sref="workouts.show({id: workout._id})">{{ workout.shortURI }}</a> 
    <p>{{ workout.description }}</p> 
    <ul class="exercise-list"> 
    <li ng-repeat="exercise in workout.exercises">{{ exercise }}</li> 
    </ul> 
    <hr> 
</div> 

當我點擊鏈接與ui-sref"workouts.show({id: workout._id})"網址更改爲正確的格式,並動態地將標識,但視圖不加載。它只停留在同一頁面上。

我見過其他幾個類似的問題,但沒有一個可以接受的解決方案爲我工作,現在我花了太長時間。

在此先感謝您的幫助!

+0

看起來像緩存問題,你應該先試試這個http://stackoverflow.com/a/28932268/2435473 –

+3

「templates/workouts/index.html」裏面有'ui-view'嗎? –

+0

不,@NewDev。它不是。您在上面看到的標記是整個文件。我只想讓它顯示鍛鍊的實際列表(索引)。 –

回答

0

我有類似的問題。 您的「鍛鍊」狀態必須具有UI視圖,以便您的「workouts.show」將作爲孩子呈現。 希望這有助於。

+0

是否有幫助...? –

相關問題