2017-02-21 58 views
0

當我嘗試以編程方式更改狀態時,URL更改,但視圖未加載。刷新頁面後,它會完美加載,但使用$window.location.reload(true);重新加載它似乎有點不尋常。

控制器

myApp.controller('WelcomeController', ['$scope', '$state', '$window', 
    function($scope, $state, $window) { 
     $scope.changePage = function() { 
      $state.go('signup'); 
      // $window.location.reload(true); 
     }; 
    } 
]); 

美國

$stateProvider.state('signup', { 
    url: '/signup', 
    templateUrl: 'templates/signup.html', 
    controller: 'LoginController' 
}).state('welcome', { 
    url: '/welcome', 
    templateUrl: 'templates/welcome.html', 
    controller: 'WelcomeController' 
}); 

signup.html

<ion-view view-title="Signup"> 
    <ion-content class="padding"> 
     <h2>Form</h2> 
    </ion-content> 
</ion-view> 

w^elcome.html

<ion-view view-title="Welcome"> 
    <ion-content class="padding"> 
     <a class="button" href="#/signup">Sign In</a> 
     <button class="button" ng-click="changePage()">Sign In Programmatic</a> 
    </ion-content> 
</ion-view> 

的index.html

<body ng-app="myApp" ng-strict-di> 
    <ion-nav-bar class="bar-positive"> 
     <ion-nav-back-button></ion-nav-back-button> 
    </ion-nav-bar> 
    <ion-nav-view></ion-nav-view> 
</body> 

這工作得很好:<a class="button" href="#/signup">Sign In</a>

什麼可能是這裏的問題?我是新來的離子或角,並在這裏堅持了兩天。嘗試使用Google,發現其他人也有這個問題,但這些似乎都沒有解決我的問題。

+0

提供更多的代碼,這個問題並非來自你所提供的東西。 – Mistalis

+0

增加了一些代碼,實際上就是所有代碼。除了應用程序聲明和離子默認的cordova代碼外,沒有其他任何內容。 –

+0

你是否依賴注入了''ui.router''到你的模塊中? – nivas

回答

-2
$state.go('signup') 

如果您的模板路徑正確,應該能夠正常工作。

或者試試以下路徑格式

templateUrl: site_url+'templates/signup.html', 

SITE_URL呈現你的網站URL EX- www.examlple.com

+0

這不是我的意思。我想以編程方式改變狀態,而不是直接點擊鏈接。 –

+0

檢查您的模板路徑是否正確,並檢查瀏覽器控制檯是否有錯誤。 –

+0

控制檯中沒有任何內容。白如死。 –