我想在$stateParams
中获取controller
的值,但它总是未定义,但我可以看到view
中有值。
app.js
.state('app.help', {
url: '/help',
views: {
'menuContent': {
templateUrl: 'templates/help.html'
}
}
})
.state('app.help-replies', {
url: '/help/:id',
views: {
'menuContent': {
templateUrl: 'templates/help-replies.html'
}
}
})
html视图
这是显示数据列表的位置
<div ng-repeat="x in helpData">
<a class="row responsive-xs" href="#/app/help/{{x.id}}">
<div class="col"><h6>{{x.subject}}</h6></div>
</a>
</div>
这是以上clicked
中view
数据的单一视图。
<div class="row responsive-xs" ng-init="viewHelpAndReplies()">
<div class="col">
<h5>Subject: {{$scope.help_id}}</h5>
</div>
</div>
controller.js
$scope.viewHelpAndReplies = function(){
console.log($stateParams.id);
}
答案 0 :(得分:0)
我认为你应该使用ui-sref来传递数据
<div ng-repeat="x in helpData">
<a class="row responsive-xs" ui-sref="app.help-replies({id: x.id})">
<div class="col"><h6>{{x.subject}}</h6></div>
</a>
</div>
并使用
检索ID$scope.id = $stateParams.id;
答案 1 :(得分:0)
好吧,我想我得到了我需要的东西。但我不确定这是否合适,但对我来说这没关系,因为它有效。
这就是我的所作所为:
我更改了href
href="#/app/help/{{x.id}}"
进入ng-click
并创建function
ng-click="doViewHelp({id:x.id})"
在我的 controller.js:
中创建function
$scope.doViewHelp = function(data){
$state.go('app.help-replies');
// some codes...
}
感谢。