我正在使用角1.5.x&巴贝尔。我想在第一页中传递一个字符串,然后在第二页中显示它。 我有这两种状态:
第一个州
library(data.table)
melt(setDT(mat), id.vars = 6, measure.vars = 1:5,
variable.name = "COLNAME", value.name = "VALUE")
第二州
.state('outside'{
url:'/outside',
templateUrl: 'outside.html',
controller: 'outsideCtrl'
})
我的第二个控制器 看起来像这样。
.state('inside',
url:'/inside/:building',
templateUrl: 'inside.html',
controller: 'insideCtrl'
})
第一个HTML
constructor($stateParams) {
this.Building : $stateParams.building;
}
第二次
<a ui-sref="inside ({building: 'castle'})"> castle </a>
<a ui-sref="inside ({building: 'blacksmith'})"> castle </a>
我仍然错了,因为建筑物未定义,也可以传递一个字符串? 谢谢
答案 0 :(得分:1)
在内部控制器中,您需要通过$state
获取参数值。您需要将其注入控制器。
$scope.building = $state.params.building;
以HTML格式
<p>Okay, now you are in a {{building}} </p>
答案 1 :(得分:1)
你可以这样做。
在你的州添加param属性。
.state('inside',
url:'/inside',
templateUrl: 'inside.html',
controller: 'insideCtrl',
params: {
building: ""
}
})
在html中,如下所示更改ui-sref
ui-sref="inside({building : yourstringvaluevariable})"
在第二个控制器中接收这样的参数。
var newBuilding = $state.params.building;