我正在开发一个应用程序,它使用第一页的信息,以便该信息用作第二页的输入。要传递我正在使用$stateParams
的信息,但仍然是第二页没有显示输出。
html第1页:
<ion-list>
<ion-item ng-model="carBrand" ng-repeat="name in carSelect" ng-click="selectItem(carBrand)">
{{name.name}}
</ion-item>
</ion-list>
html第2页:
<ion-checkbox ng-model="cartype" ng-repeat="brandType in carBrand.types">
<div align="center"><span>{{brandType}}</span></div>
</ion-checkbox><br><br>
控制器:
carService.controller('carBrand',['$scope','carRepository','$rootScope','$state','$stateParams',function($scope,carRepository,$rootScope,$state,$stateParams){
$scope.newCarList=[];
$rootScope.carSelect=carRepository.data;
$scope.selectItem=$stateParams.name;
$scope.selectItem=function(key){
$scope.newCarList.push(key);
$state.go('app.CarDetails',{value:$scope.name});
}
app.js
var carService = angular.module('CarWash',['ionic']).config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('app.Cartype',{
url:'/Cartype',
views:{
'menuContent':{
templateUrl:'templates/Cartype.html',
controller:'carBrand'
}
}
})
//carEdit.html
.state('app.carEdit',{
url:'/carEdit',
views:{
'menuContent':{
templateUrl:'templates/carEdit.html'
}
}
})
答案 0 :(得分:1)
看起来您也在使用UIRouter?
我马上就看到了两个明显的问题。
如果要使用参数驱动UI状态,则需要在URL中定义params或在状态上定义params对象。我们假设你想去app.CarEdit&#39;当您单击该项目时。你的州看起来像这样:
网址驱动的参数:
.state('app.CarEdit', {
url: '/edit/{type}',
....
})
或强>
哈希驱动的参数:
.state('app.CarEdit', {
url: 'carEdit',
params: { type: undefined }
})
在任何一种情况下,当您致电$state.go
时,您需要通过定义type
来传递参数:
$state.go('app.CarEdit', { type: $scope.selectedType })
类似的东西。