如何单击列表中的项目并在新页面中查看该项目?AngularJS和Ionic
How to click on a item in a list and view the item in a new page? AngularJS and Ionic
我有一个项目列表,理想情况下,点击项目后,我会看到帖子本身。我不知道该怎么拥有它。。我试着点击标题,但我认为路线本身不起作用。
为了测试的目的,我使用了一行VIEW的工作,点击后应该会指向上面的函数。我怀疑问题出在app.js状态,以及我如何在$state.go.中定义它
感谢您的帮助。非常感谢!
主列表html
<ion-view ng-controller="NavCtrl">
<div class="container posts-page">
<div class="post row" ng-repeat="(postId, post) in posts">
<a ng-click="view()">VIEW</a> <!-- the VIEW when clicked = no actions -->
js文件使用"tab.view"无效。
$scope.view = function() {
$state.go('tab.posts.view', {postId: postId});
};
app.js状态文件
.state('tab.posts', {
url: '/posts',
views: {
'tab-posts': {
templateUrl: 'templates/tab-posts.html',
controller: 'PostsCtrl'
.state('tab.posts.view', {
url: '/:postId',
views: {
'tab-posts':{
templateUrl: 'templates/tab-showpost.html',
controller: 'PostViewCtrl'
有一个正在工作的plunker,显示如何:
.state('tab.posts', {
url: '/posts',
views: {
'tab-posts': {
templateUrl: 'tab-posts.html',
controller: 'PostsCtrl'
},
}
})
.state('tab.posts.view', {
url: '/:postId',
views: {
// here is the issue, instead of this
// 'tab-posts':{
// we have to use this
'tab-posts@tab':{
templateUrl: 'tab-showpost.html',
controller: 'PostViewCtrl'
}
正如代码示例所示,问题是,我们必须使用绝对视图命名:
- 视图名称-相对名称与绝对名称
在幕后,每个视图都会被分配一个绝对名称,该名称遵循
viewname@statename
的方案,其中viewname是视图指令中使用的名称,state name是状态的绝对名称,例如contact.item。您还可以选择用绝对语法编写视图名称。
因此,因为我们想要针对名为tab-posts
的状态tab
的视图,所以我们必须使用绝对命名:'tab-posts@tab'
此外,我们应该将postId传递到view()
函数中,或者我们可以直接使用ui-sref
<a ng-click="view(postId)">VIEW</a>
<a ui-sref="tab.posts.view({postId: postId})">VIEW</a>
为了完整起见,有一个更新视图func,采用post-id:
$scope.view = function(postId) {
$state.go('tab.posts.view', {postId: postId});
};
所有这些都可以在这里观察到
相关文章:
- 在检查单选按钮的值是否正确后,如何将其带到新页面
- 在Phonegap中重定向到新页面后,AdMob未定义
- ASP.NET MVC 3-在ajax调用后,重定向到新页面或生成页面刷新
- javascript:发送带有音频文件的POST,然后重定向到新页面
- 在onclick上动态创建新页面
- 如何将缩略图链接到新页面上的视频
- Javascript:在新页面中打开链接并运行脚本
- 视频暂停超过1分钟后重定向到新页面
- 在新页面中打开url的Javascript
- 防止 PHP 在新页面中显示结果
- 如何在边缘脚本完成后将用户定向到新页面
- 超链接单击以加载新页面并执行JavaScript
- 导航到新页面不会滚动到顶部
- 如何发布请求并将响应呈现为新页面
- 如何使用自动表单和iron路由器重定向到新页面
- 如何在发送时不打开新页面的情况下使用php/ajax发送表单
- 在RadWindow中加载新页面,然后从加载的窗体中关闭窗口
- 如何单击列表中的项目并在新页面中查看该项目?AngularJS和Ionic
- 如何在新页面中显示所选项目
- 当用户点击离子项目中的任何项目时,打开新页面