2016-06-16 2 views
0

мой конфиг:

.config(function($stateProvider, $urlRouterProvider) { 


    $stateProvider 


.state('tab.chats', { 
     url: '/chats/:id', 
     views: { 
     'tab-chats': { 
      templateUrl: 'templates/tab-chats.html', 
      controller: 'detail' 
     } 
     } 
    }) 


$urlRouterProvider.otherwise('/tab/dash'); 

}) 

мой контроллер:

.controller("detail", ["$scope", "$http", function($scope, $http, $routeParams){ 

    $scope.data = $routeParams.id; 

мой HTML:

<ion-view> 
    <ion-content class="ata1"> 
    <a href="#/tab/dash" rel="nofollow"><img id="logo" src="img/falimda.png" alt="" /></a> 

    <div class="clear"></div> 


    <div ng-controller="detail"> 
     {{data}} 
    </div> 


    <div class="clear"></div> 

    <a href="#/tab/dash" class="button button-outline button-light">Back</a> 

    </ion-content> 
</ion-view> 

Так вот Я программирую мобильное приложение Ionic Framework, и я не мог что-то решить.

Я пытаюсь использовать этот id внутри моего контроллера с помощью routeParams, так что я могу использовать, что id тянуть некоторые данные из Интернета, но, к сожалению, я не могу достигнуть его внутри моего контроллера. Я попытался проверить и распечатать свои данные внутри ng-controller, это не сработало. Вы можете мне помочь?

ответ

2

Вы используете UI-маршрутизатор для маршрутизации, но рассчитывая найти Ui-маршрутизатор параметры состояния в службе routeParams ngRoute в. Не произойдет.

Используйте $stateParams и удалите зависимость ngRoute от вашего приложения, так как вы используете ui-router.

Чтобы исправить другую проблему с впрыском, объясненную другим ответом, и не повторять ее позже, я предлагаю вам придерживаться простого объявления или параметров (не используя синтаксис массива, который заставляет вас дублировать все имена служб) и используйте ng-annotate, чтобы сделать его пригодным для использования автоматически.

+0

это сработало спасибо! –

0

Изменить код контроллера, как показано ниже

.controller("detail", ["$scope", "$http", "$routeParams", function($scope, $http, $routeParams){ 

    $scope.data = $routeParams.id; 
+0

изменил $ routeParams на $ stateParams и ввел его. Теперь он работает благодаря! –