我的配置:
.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>
因此,在这里,我正在通过离子框架编程移动应用程序,但我无法解决。
我正在尝试通过使用routeParams
在控制器内使用此id
,以便我可以使用id
从Web中获取一些数据,但不幸的是,我无法在控制器内部触及。我试图在ng-controller
内测试和打印数据,这是行不通的。你能帮我吗?
您正在使用UI-Router进行路由,但希望在Ngroute的Routeparams服务中找到UI-Router state参数。不会发生。
使用 $stateParams
,并从应用程序中删除ngroute依赖性,因为您正在使用UI-Router。
要解决另一个答案解释的其他注入问题,并避免以后重复,我建议您坚持使用简单的声明或参数(不使用迫使您复制所有服务名称的数组语法)和使用NG-Annotate自动使其可自动进行。
更改下面的控制器代码
.controller("detail", ["$scope", "$http", "$routeParams", function($scope, $http, $routeParams){
$scope.data = $routeParams.id;