我尝试了很多东西将数据传递给我的视图,但我不知道出了什么问题。 我尝试使用$ scope并使用$ state.go传递数据,但没有任何反应。
.state('app.ler',
{
views: {
'menuContent': {
templateUrl: 'mensagens/mensagemRead.html',
controller: 'MensagensCtrl',
params: {'assunto': null}
}
},
url: '/ler'
})
$scope.read = function (id) {
MensagensService.ler(id).then(function (response) {
// $scope.mensagem_ler = response.data[0];
// alert(response.data[0].assunto);
$state.go('app.ler', {assunto:response.data[0].assunto});
console.log($stateParams);
});
};
<ion-view title="Mensagens2">
<ion-content class="has-header">
<div class="list">
<a class="item item-avatar" href="#">
<img src="venkman.jpg">
<h2>Gustavoaaa</h2>
<!--<p>{{mensagem_ler.assunto}}</p>-->
<p>{{assunto}}</p>
</a>
</div>
</ion-content>
</ion-view>
答案 0 :(得分:1)
params
状态选项在state
定义的根级别中可用,您不能在namedView
的叶级别中使用它们。
.state('app.ler', {
views: {
'menuContent': {
templateUrl: 'mensagens/mensagemRead.html',
controller: 'MensagensCtrl',
}
},
url: '/ler/{assunto}', //here is parameter mentioned in URL
params: {
'assunto': null //parameter default value
}
})
您可以在控制器内的$stateParams
对象中获取此值。
答案 1 :(得分:1)
您可以在州的网址中使用:
添加州参数。
.state('app.ler',
{
views: {
'menuContent': {
templateUrl: 'mensagens/mensagemRead.html',
controller: 'MensagensCtrl'
}
},
url: '/ler/:assunto'
});
这将使$ propertyParams
中的属性assunto
可用
答案 2 :(得分:0)
在状态配置中尝试此操作
url: '/ler?assunto'
如果你想传递更多参数,那么就像这样添加它们
url: '/ler?assunto¶m2¶m3....'
要在视图中使用状态参数,可以将其保存在控制器的$ scope变量中,然后使用它。
例如: $ scope.assunto = $ stateParams.assunto;
<ion-view title="Mensagens2">
<ion-content class="has-header">
<div class="list">
<a class="item item-avatar" href="#">
<img src="venkman.jpg">
<h2>Gustavoaaa</h2>
<!--<p>{{mensagem_ler.assunto}}</p>-->
<p>{{assunto}}</p>
</a>
</div>
</ion-content>
</ion-view>