我无法创建 $stateProvider ionic

I can’t create $stateProvider ionic

我对 ionic 框架还早,我正在尝试使用 ionic 制作移动应用程序。

我想知道如何改变整体外观,如果它使网站相当 ,但在 ionic 中它是如何工作的 (?)

我正在尝试添加一些代码 app.js :

config(function($stateProvider) {
 $stateProvider

  .state('expense', {
     url: "/app/expense",
     templateUrl: 'templates/add-expense.html'
   })
});

这是我的代码 index.html :

<body ng-app="starter">
   <ion-side-menus>
    <ion-side-menu-content>
    <ion-header-bar class="bar-header bar-dark">
     <button class="button button-clear button-positive">Edit</button>
     <div class="h1 title">23 Desember 20014</div>
     <button class="button button-icon icon ion-navicon" menu-toggle="right"> </button>
    </ion-header-bar>

 <ion-content>
  <div class="row green">
   <div class="col">Income</div>
   <div class="col price">3,550,000</div>
  </div>
  <div class="row expense orange">
   <a class="col" href="#/app/expense">New Expense</a> <!-- try to link templates/add-expense.html -->
   </div>
 </ion-content> 
 </ion-side-menu-content> 

 <ion-side-menu side="right">
   <a menu-close href="#" class="item">Home</a>
 </ion-side-menu>
</ion-side-menus>
<body>

谁能帮帮我?提前致谢。

updated working plunker个。我不是离子专家,所以只是基础 fixed/improved.

一个问题是,配置应该是某种方法:

// wrong
config(function($stateProvider) {
...

应用程序有配置方法

var app = angular.module('starter', ['ionic'])
...
app.config(function($stateProvider) {
  $stateProvider

    .state('expense', {
      url: "/app/expense",
      templateUrl: 'add-expense.html',
    })      
});

此外,我用 <ion-nav-view> 包装了内容,作为状态 expenses 的占位符(它必须被注入到一些 ui-view="" - 未命名的锚点)

但是这些调整只是为了实现 运行,你应该更多地研究离子,阅读它,以理解这个概念,因为例如add-expsenses.html 不是这样...

检查一下here

你的配置部分有问题,应该使用这种方式。

并且也在 html 中使用。并删除 "add-expense.html" 上未使用的代码 使用需要添加您需要显示的模板。

angular.module('starter', ['ionic'])

.run(function($ionicPlatform) {
  $ionicPlatform.ready(function() {
    // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
    // for form inputs)
    if(window.cordova && window.cordova.plugins.Keyboard) {
      cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
    }
    if(window.StatusBar) {
      StatusBar.styleDefault();
    }
  });
})

.config(function($stateProvider) {
  $stateProvider

    .state('expense', {
      url: "/app/expense",
      templateUrl: 'add-expense.html'
    })

});


function ContentController($scope, $ionicSideMenuDelegate) {
  $scope.toggleLeft = function() {
    $ionicSideMenuDelegate.toggleLeft();
  };
}