簡體   English   中英

ionic $ state.go無法加載頁面或顯示錯誤

[英]ionic $state.go not loading page or showing error

我在應用程序的其他地方使用了$ state.go(),但它無法在簡單的函數中正常工作,所以我無法弄清原因。 它沒有顯示錯誤,也沒有顯示在$ state.go()中調用的正確狀態。

我已經用$ stateChangeStart,$ stateChangeError,$ viewContentLoading和$ stateChangeSuccess對其進行了測試。 它到達所有正確的階段:$ stateChangeStart,$ viewContentLoading然后$ stateChangeSuccess中每個內容正確,但是不會加載該頁面。

我最初是使用ui-sref嘗試過的,但是沒有用,所以我用$ state.go()進行了嘗試,現在卻不起作用,我真的很困惑。 我看不到這段代碼與$ state.go()工作在其他地方的代碼之間的任何區別。

HTML鏈接:

<li ng-repeat="thing in things" class="item" ng-click="showThingDetails()">

控制器中的代碼:

$scope.showThingDetails = function () {
$state.go('thingDetails');}

代碼狀態:

.state('thingDetails', {
url: '/thingDetails',
views: {
  'menuContent': {
    templateUrl: 'templates/thingDetails.html',
    controller: 'thingDetails'
  }
}
})

ThingDetails.html

<ion-view view-title="Thing Details">
  <ion-content>
    <h1>{{title}}</h1>
  </ion-content>
</ion-view>

ThingDetails.js

angular.module('controllers')
  .controller('thingDetails', function($scope, $stateParams) {
    $scope.title = "thing";
});

我剛剛找到了解決自己問題的答案。 我已經從我的應用程序的另一個位置復制了狀態,並在views對象中定義了templateUrl和controller導致了狀態的出現。 我從視圖對象中取出了templateUrl和controller,它起作用了。

狀態代碼現在如下所示,並且可以正常工作:

.state('sweepstakeDetails', {
  url: '/sweepstakeDetails',
  templateUrl: 'templates/sweepstakeDetails.html',
  controller: 'sweepstakeDetails'
})

如果有人可以針對原因添加更詳細的答案,那么我將不勝感激。

您是否有一個名為“ menuContent”的用戶界面視圖,應在其中加載該視圖?

否則,您可以嘗試在沒有menuContent視圖的情況下使用此狀態

.state('thingDetails', {
    url: '/thingDetails',
    templateUrl: 'templates/thingDetails.html',
    controller: 'thingDetails'  
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM