angularjs 中的选项卡无法与 UI-Router 和 UI-bootstrap 正常工作

2024-01-03

我正在使用 MEAN.js 样板,您可以找到完整的代码here https://github.com/meanjs/mean.

从列表中选择一篇文章后,我尝试向呈现的页面添加 2 个新选项卡。 对于此任务,我决定对 Angular.js 使用 UI-Router 和 UI-Bootstrap。 这两个选项卡无法正常工作,我可以在它们之间切换并正确查看其内容,但有时当我返回并选择文章列表菜单项时,我会看到一个带有两个选项卡的空白页面,没有其他内容。

以下是对 view-article.client.view.html 文件的更改,以包含 2 个新选项卡(之前的内容已复制到包含新选项卡部分内容的 2 个文件):

 <div ng-controller="ArticlesController">
   <tabset>
     <tab
            ng-repeat="t in tabs"
            heading="{{t.heading}}"
            select="go(t.route)"
            active="t.active">
     </tab>
   </tabset>
  <div ui-view></div>
 </div>

我已将以下几行代码插入到文章控制器中:

$scope.tabs = [
       { heading: 'SubA', route:'viewArticle.SubA', active:false },
       { heading: 'SubB', route:'viewArticle.SubB', active:false }

   ];

   $scope.go = function(route){
       $state.go(route);
   };

   $scope.active = function(route){
       return $state.is(route);
   };

   $scope.$on('$stateChangeSuccess', function() {
       $scope.tabs.forEach(function(tab) {
           tab.active = $scope.active(tab.route);
       });
   });

这是route.js

'use strict'
angular.module('articles').config(['$stateProvider',
   function($stateProvider) {
    $stateProvider.
    state('listArticles', {
        url: '/articles',
        templateUrl: 'modules/articles/views/list-articles.client.view.html'
    }).
    state('createArticle', {
        url: '/articles/create',
        templateUrl: 'modules/articles/views/create-article.client.view.html'
    }).
    state('viewArticle', {
        url: '/articles/:articleId',
        templateUrl: 'modules/articles/views/view-article.client.view.html'
    }).
    state('editArticle', {
        url: '/articles/:articleId/edit',
        templateUrl: 'modules/articles/views/edit-article.client.view.html'
    }).
    state('viewArticle.SubA', {
        url: '/SubA',
        templateUrl: 'modules/articles/views/view-article.client.view.SubA.html'
    }).

    state('viewArticle.SubB', {
        url: '/SubB',
        templateUrl: 'modules/articles/views/view-article.client.view.SubB.html'
    });
   }
]);

这与 angular-ui bootstrap tab 指令和 select() 回调有关。当离开 tab2 时,似乎正在调用 tab2 中的 select() 回调。

我变了:

`<tab  ng-repeat="t in tabs"  heading="{{t.heading}}" select="go(t.route)" active="t.active"> `</tab>

to:

`<tab  ng-repeat="t in tabs"  heading="{{t.heading}}"  ui-sref="{{t.route}}" active="t.active"> </tab>`

您的演示现在可以运行了。

http://plnkr.co/edit/efnfjoQ8Hft6AZITCR67?p=preview http://plnkr.co/edit/efnfjoQ8Hft6AZITCR67?p=preview

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

angularjs 中的选项卡无法与 UI-Router 和 UI-bootstrap 正常工作 的相关文章

随机推荐

  • 如何导航到相同的父状态

    根据我对 Gmail 和 TED 应用程序的观察 向上导航的行为它将导航到具有相同状态 滚动位置 的父项 这与 Google 在其文档中所说的不同实施向上导航 http developer android com training impl
  • 函数参数中的元组解包

    在下面的函数中 args i 应该通过以下方式解压到函数 func 的参数中 然而在它之前传入的是一个列表 我缺少什么 def mymap func seq args list zip seq ret for i in range len
  • Django allauth - 设置 Facebook 重定向

    在我的应用程序中 我有一个 next 参数 因此当用户登录时 他们将被重定向到他们来自的地方 示例 www mysite com login next www mysite com some section 我在用Django allaut
  • 根据用户角色类型更改布局

    我是 MVC 新手 我浏览了堆栈上的类似帖子 但它们似乎对我的问题没有帮助 我有两个角色管理员和用户 当一个人登录时 我希望布局根据该人是否登录而改变Admin特权或User特权 My Admin布局是 Layout cshtml My U
  • 存储大量会话数据的最佳位置[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何使用 HTML/CSS UI 构建原生 C++ 应用程序? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否可以在使用 HTML 和 CSS 作为用户界面的同时开发 C 程序 我了解如何使用 Webkit 容
  • Python 中有依赖注入容器吗?

    一直在摆弄 python 像往常一样 它让我严格的静态类型面向对象世界变得有点混乱 Python 支持鸭子类型 没有基于接口的编程的可用概念 如 C 接口 并允许全局变量 有了所有这些好处 依赖注入容器真的有任何意义吗 或者 Python
  • 如何在ios 6中的地图上绘制路线?

    我想显示地图并在地图上绘制路线 我的应用程序支持 ios 4 plus 那么我应该如何使用地图在 ios 6 和以前的版本上工作 我还想知道我应该在我的应用程序中使用自定义地图视图来显示地图和路线 还是应该使用 UIApplication
  • Objective C 中的网页抓取

    有没有用于解析 HTML 的 Objective C 库 比如 python 的 BeautifulSoup 谢谢 从Apple的部分来看有NSXML文档 http developer apple com library mac docum
  • 当 hashcode() 返回零时,对 Collection 实现有何影响

    好吧 只是为了知识 它对像这样的 Collection 实现类有什么意义hashmap hashset等等如果object s hashcode方法总是返回0 in a demoClass 我知道这与putForNullKeyhashmap
  • 表视图单元格的圆角半径

    我需要更改单元角半径 如下图所示 func tableView tableView UITableView willDisplayCell cell UITableViewCell forRowAtIndexPath indexPath N
  • 在 C# 中随机“排序”(随机播放)整数列表的最有效方法

    我需要以最有效的方式对整数列表 0 1999 进行随机 排序 有任何想法吗 目前 我正在做这样的事情 bool bIndexSet new bool iItemCount for int iCurIndex 0 iCurIndex lt i
  • Microsoft.Data.Sqlite.SqliteException:“SQLite 错误 14:‘无法打开数据库文件’。”

    我收到此错误 Microsoft Data Sqlite SqliteException SQLite 错误 14 无法打开数据库文件 当我尝试运行此代码时 它是一个 UWP 应用程序 并且我正在使用 sqlite private void
  • “无法将 ?attr/colorPrimary 转换为可绘制对象”

    我正在开始一个新项目 所以该项目或多或少是 空的 我刚刚添加了一个 MainActivity 和一个 MainActivity Fragment 我根本没有向它们添加任何代码 现在 我编辑 styles xml 使其看起来像这样
  • 应用程序未配置为通过 Google Play 计费

    我正在开发一个 android 项目 我正在尝试实现 In App Billing V3 我已将我的应用程序上传到 Google Play 并向该应用程序添加 IAP 我可以成功检索我的应用程序的 IAP 列表及其价格 但当我实际尝试购买时
  • 调整窗口大小时会扩展的字体大小

    如何在 HTML 中制作字体 以便当我扩展窗口时 文本的大小也会扩展 有点像为文本设置一个百分比 该文本将占其所在框的大小的百分比 这是我希望发生的情况的说明 box text font size 50 现在让我们说 box是 200 像素
  • 如何将共享库与 --as-needed 和 automake 链接起来?

    如何链接共享库 as needed使用Automake 当我尝试将标志添加到LDFLAGS I saw libtool如此称呼 bin bash libtool mode link Wl as needed dependencies 这会导
  • EWS 托管 API - 如何将项目从一个邮箱复制到另一个邮箱

    我正在编写一个应用程序 C 来将联系人 约会 任务等从一个邮箱同步到另一个邮箱 我能够使用 SyncFolderItems 检索对这些项目的更改 但找不到将更改复制到其他邮箱的方法 看起来我必须为目标邮箱上的每种类型创建一个新项目 如果是这
  • Spring框架使用了哪些设计模式? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 Spring框架使用了哪些设计模式 使用了大量不同的设计模式 但有一些明显的 代理 大量使用AOP http static sprin
  • angularjs 中的选项卡无法与 UI-Router 和 UI-bootstrap 正常工作

    我正在使用 MEAN js 样板 您可以找到完整的代码here https github com meanjs mean 从列表中选择一篇文章后 我尝试向呈现的页面添加 2 个新选项卡 对于此任务 我决定对 Angular js 使用 UI