[Javascript] AngularJS ng-click轉到另一個頁面(使用Ionic框架)


Answers

<a>與href而不是<button>解決了我的問題。

<ion-nav-buttons side="secondary">
  <a class="button icon-right ion-plus-round" href="#/app/gosomewhere"></a>
</ion-nav-buttons>
Question

理想情況下,當我點擊按鈕(這是在頂部的離子導航欄),它應該帶我到另一個頁面。 然而它不工作。 點擊後,導航欄按鈕全部消失。

當我使用虛擬代碼,它的工作原理; 警報出現。 但是,當我將其交換到實際的代碼,它無法正常工作。

我對控制器代碼有一些錯誤的感覺,以及如何引用URL或視圖。 但是使用href和ui-sref進行測試也不會產生任何結果。 Google Devt Tools(JS控制台)和Batarang也沒有顯示任何內容。

有人能告訴我的方式嗎?


虛擬html代碼

<button class="button button-icon ion-compose" ng-click="create()"></button>


虛擬控制器代碼在js文件中

$scope.create = function() {
  alert("working");
};


實際的HTML代碼(我嘗試了所有4個版本)

<button class="button button-icon ion-compose" ng-click="create('tab.newpost')"></button>
<button class="button button-icon ion-compose" ui-sref="tab.newpost"></button>
<button class="button button-icon ion-compose" href="/tab/newpost"></button>
<button class="button button-icon ion-compose" ng-click="location.path('/tab/newpost')"></button>


控制器文件(Post和Auth依賴性工作正常)。 當我嘗試將URL放在.go()和function()中時,應用程序失敗。

app.controller('NavCtrl', function ($scope, $location, $state, Post, Auth) {
    $scope.post = {url: 'http://', title: ''};

    $scope.create = function() {
      /* $location.path('/tab/newpost'); */   /* this variant doesnt work */
      $state.go("/tab/newpost"); 
    };
  });


狀態js文件的摘錄

.state('tab.newpost', {
      url: '/newpost',
      views: {
        'tab-newpost':{
          templateUrl: 'templates/tab-newpost.html',
          controller: 'NewCtrl'
        }
      }
    });

$urlRouterProvider.otherwise('/auth/login');



app.controller('NavCtrl', function ($scope, $location, $state, $window, Post, Auth) {
    $scope.post = {url: 'http://', title: ''};

    $scope.createVariable = function(url) {
      $window.location.href = url;
    };
    $scope.createFixed = function() {
      $window.location.href = '/tab/newpost';
    };
});

HTML

<button class="button button-icon ion-compose" ng-click="createFixed()"></button>
<button class="button button-icon ion-compose" ng-click="createVariable('/tab/newpost')"></button>