我无法创建$ stateProvider ionic

时间:2015-01-27 05:29:57

标签: angularjs ionic-framework ionic

我对离子框架这么早,我正在尝试用离子制作移动应用程序。

我想知道如何改变整体外观,如果它使网站完全由< a href =“#”&gt ;,但是离子如何工作(?)

我正在尝试添加一些代码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>

任何人都可以帮助我吗?提前谢谢。

2 个答案:

答案 0 :(得分:0)

updated working plunker。我不是离子的专家,因此只需修复/改进基础知识。

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

// 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

答案 1 :(得分:0)

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

并在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();
  };
}