Angular UI Router - 继承状态下的视图

2023-12-25

edit:根据@actor2019的回答,我想更新我的问题以更好地解释问题:

Using Angular UI 路由器 https://github.com/angular-ui/ui-router(v0.0.2),我已经将应用程序设置为在主“页面”/状态之间正确导航,同时继承基本状态。

索引.html:

<div ui-view></div>

基本.html:

<!-- Header -->
<div>
    <!-- Header markup -->

    <!-- Search View -->
    <div ui-view="search"></div>
</div>

<!-- Page Content view -->
<div ui-view></div>

问题出在 app.js 文件中。当我添加views参数到base状态,一切都停止工作(100%空白页)。如果没有该参数,页面将正确呈现,但我没有搜索视图。

app.js:

$urlRouterProvider.otherwise('/');

//
// Now set up the states
$stateProvider
  .state('base', {
    abstract: true,
    templateUrl: 'views/base.html',
    views: {
      "search": {
        templateUrl: "views/search.html"
      }
    }
  })
  .state('base.home', {
    url: "/",
    templateUrl: "views/home.html"
  })
  .state('base.page2', {
    url: "/page2",
    templateUrl: "views/page2.html"
  });

如何将视图添加到此父“基本”状态?

UPDATE:@actor2019的回答有问题here https://stackoverflow.com/a/18504504/229780那是search当状态改变时视图会被重新初始化。我希望底层的视图能够在状态变化时持续存在。


第一个明显的错误:

使用视图时无法在状态上指定控制器和模板。它们是相互排斥的...

这是因为当状态上没有“视图”但有控制器和模板时,UI-Router 会自动创建“视图”属性并将这些属性拉到“空”视图......

.state('base', {
  abstract: true,
  templateUrl: 'views/base.html', //Can't do this
  views: { // when this is there.
    "search": {
      templateUrl: "views/search.html"
    }
  }
})

相反,做:

.state('base', {
  abstract: true,
    views: {
      "": {
        templateUrl: 'views/base.html'
      },
      "search": {
        templateUrl: "views/search.html"
      }
    }
  })

第二个问题:

视图定位如何与嵌套视图等一起工作并不是很合逻辑,如果您将自己限制在一个视图中的一个视图中,那么它可能会很好地工作,但是当您开始使用多个命名视图时,这一切都会变得令人困惑......在顶部添加未命名的视图,很多人会迷失......

UI-Router 中视图的工作方式是 UI-Router 中最糟糕的部分......

给定你的例子,我什至不完全确定从你的抽象父状态定位搜索视图的方法......可能是:

.state('base', {
  abstract: true,
    views: {
      "": {
        templateUrl: 'views/base.html'
      },
      "search@base": {
        templateUrl: "views/search.html"
      }
    }
  })

如果它甚至可以工作......或者你可以将搜索视图移出base.html,但我猜你将其添加到那里是有原因的。

整个视图概念是我最终写作的最大原因https://github.com/dotJEM/angular-routing https://github.com/dotJEM/angular-routing反而。

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

Angular UI Router - 继承状态下的视图 的相关文章

  • 全局 JavaScript 变量作用域:为什么这不起作用?

    所以我在玩 JavaScript 时遇到了我认为奇怪的事情 有谁能解释一下以下内容吗 我已将警报值作为评论包含在内 为什么 foo 中的第一个警报 msg 返回不明确的并不是outside var msg outside function
  • 尝试使用 angularJS 和 c# webapi 从服务器下载文件

    将文件上传到服务器时效果很好 没有损坏的文件 但是 当我下载文件时 除了纯txt 它们起作用 它们的规模不断扩大并变得腐败 经过大量调查后 我不知道可能出了什么问题 我只是写文件 作为响应流并下载 blob 欢迎任何想法 严重依赖此线程来解
  • Vue js按钮冻结dom

    我试图在按下按钮时切换包含加载动画的跨度 直到使用 v if 函数完成 但是当我按下按钮时 DOM 冻结并且 span 元素保持不变 直到函数调用结束 如何让 DOM 不冻结并显示加载图标 非阻塞按钮按下可能是一个解决方案 HTML
  • 向下滚动时如何使图像移动?

    这是我想要实现的目标的示例 https www flambette com en https www flambette com en 我尝试过更改图像的 css 属性 但效果不能满足我的需求 我尝试过以下代码 mydocument on
  • 拖放图像上传在服务器上不起作用

    我正在尝试实现拖放图像上传 我在网上找到了一个相当简单的脚本并适合我的使用 在我的本地安装中 文件上传得很好 但在服务器上却不行 从我的调试尝试来看 SERVER HTTP X FILENAME 甚至没有被 php 设置 我尝试了以下方法
  • Javascript 根据字段值任意排序数组

    所以我有一个对象数组 如下所示 var myArray priority low priority critical priority high 我需要以这种方式排序 1 关键 2 高和3 低 如何才能做到这一点 我建议使用一个对象来存储排
  • Angular UI.Bootstrap 单选按钮在 ng-repeat 中表现得很奇怪[重复]

    这个问题在这里已经有答案了 我在 Angular 的 ui bootstrap 中动态生成无线电模型的选项时遇到问题 我想我可以简单地对数组进行 ng repeat 使用 btn radio 属性的内容 如下所示 in the contro
  • 如何防止在达到一定字符数后向文本区域输入内容?

    使用下面的代码 任何超过指定最大值的输入都将被删除 但这会产生一种效果 即键入字符后立即将其删除 我宁愿简单地阻止输入字符
  • Outlook Rest 调用表单 angularjs

    使用 Outlook 我正在尝试创建事件 当我使用 POSTMAN 发送请求时 它工作正常 但 Angularjs 中的相同代码却不起作用 代码有什么问题 请帮忙 scope createEvents function var url ht
  • (angularjs-google-maps) ng-click 内部标记

    这个问题是关于angularjs google maps https github com allenhwkim angularjs google maps https github com allenhwkim angularjs goo
  • 传单 - 导入 Geojson - Angular 6

    我尝试将 GeoJson 文件导入到 Angular 的应用程序 6 中的传单中 通过这个解决方案 我的 geojson 是在 leafletmap 中绘制的 但我有这个错误 我无法构建我的应用程序 有人知道一种解决方案吗 错误 TS234
  • Flot 0.8.2 折线图 - 颜色错误

    我正在使用 Flot 折线图并设置它们的颜色 我发现了一个奇怪的错误 在前 3 种颜色之后 绘图对所有其他线条使用最后一种颜色 这不是正确的行为 更有趣的是图例显示了正确的颜色 这是一个已知的错误 var dataSet label d1
  • Node.js - Async.js:并行执行如何工作?

    我想知道 async js 中并行执行是如何工作的 async require async async parallel function callback for var i 0 i lt 1000000000 i Do nothing
  • NodeJS 中的缩进多行日志记录

    我要打印JSON stringify d 反对控制台 将上下文作为 Mocha 测试套件输出的一部分 当测试缩进时 我希望对象日志行向右缩进足够远 例如 3 4 个制表符空格 以便它们可以识别地位于右侧describe group 我怎样才
  • 如何在 Astro 中的组件之间共享状态?

    我相信我在代码中采用了错误的方法 如何在按钮单击中设置客户端首选项 该按钮单击用作全局 astro 组件中的道具 或者我应该怎么做 我知道这是可能的 因为 astro js 本身在他们的文档网站中这样做了 下面是我的尝试的解释 我目前正在开
  • Javascript/DOM:如何删除 DOM 对象的所有事件侦听器?

    只是问题 有没有办法完全删除对象的所有事件 例如一个div 编辑 我添加每div addEventListener click eventReturner false 一个事件 function eventReturner return f
  • 如何在javascript中解析 yyyy-MM-dd HH:mm:ss.SSS 格式的日期?

    const time 2016 11 16 00 00 00 000 const date new Date time console info date 似乎 safari 无法解析 yyyy MM dd HH mm ss SSS 格式日
  • 更改 CSS 样式表的选择器属性

    以下是我们传统上如何更改重复元素的样式 将样式应用到每个元素 function changeStyle selector prop val var elems document querySelectorAll selector Array
  • JavaScript 比较中应使用哪个等于运算符(== 与 ===)?

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 我在用着JSLint http en wikipedia org wiki JSLint
  • 相当于 JavaScript 中 Ruby 的each_cons

    许多语言都曾提出过这个问题 但 javascript 却没有 Ruby 有方法Enumerable each cons https devdocs io ruby 2 5 enumerable method i each cons看起来像这

随机推荐

  • Get-EventLog - 轻松按“今天”过滤?

    我想快速检查今天发生的事件 即 从午夜开始的任何事件 Powershell 中是否有 今天 别名 内置功能可以帮助解决此问题 我目前正在做这样的事情 get eventlog system source disk after datetim
  • 拒绝类,因为它未通过编译时验证

    我正在尝试将来自 openwhispersystems 的 curve25519 java 集成到我的 Android 应用程序中 并使用 API 23 Marshmallow 进行编译 使用非本机代码时 我收到此运行时异常 java la
  • 我应该更改什么才能使该文件编译?

    我正在上编程课 这个程序是我作业的一部分 该文件分析名为 Names txt 的文件中的数据 然后打印信息 我收到编译错误 我想知道需要更改或添加哪些内容才能成功编译 这是我的代码 import java util Scanner impo
  • 更改 ImageView 内容会导致 OutOfMemoryError

    我有一个非常简单的应用程序 包含一个 ImageView 和一个 Button 我加载的第一个 Drawable 资源图像视图在 XML 布局中用 android src 标签指定 但是在运行时我想改变它显示的图片 为此 我启动一个活动以从
  • 压缩 (zip) 无法创建输出文件 - 错误

    我正在使用 VBscript 扫描文件夹 创建 zip 文件并向其中添加文件 压缩 但是当我在包含大量文件的文件夹上运行脚本时 出现以下错误 压缩 zip 无法创建输出文件 我的邮政编码处理代码如下 Dim objFSO Set objFS
  • 如何在视图刀片 Laravel 5.3 中显示空间?

    我在数据库中的记录是这样的 我想用空格显示 我尝试这样 nl2br text and nl2br e text 这是行不通的 我该如何解决 你尝试过使用 nbsp 在这里你可以使用 HTML 实体
  • 使用 @font-face 时,SVG 文本边框因浏览器而异?

    我试图通过使用 getBBox 方法获取边界框来根据文本的宽度和高度放置 SVG 文本元素 如果文本使用网络安全字体 则在不同浏览器中效果相当好 但如果使用 font face 和自定义网络字体设置文本样式 则在 Firefox Mac 和
  • JavaScript:推入对象内的数组?

    问题 如何将一个数组推入对象内的另一个数组 示例编码 var myObj arrayOne arrayTwo var arrayLetters A B obj arrayOne push arrayLetters RESULT arrayO
  • 在 JTable 中的单元格上方显示工具提示

    当用户在单元格中输入错误的值时 我需要在单元格上方 或下方 显示工具提示 参见下图 我有一个工具提示 但我需要一个点来将其显示在正确的位置 所以我想获取一个单元格位置 你知道如何得到这个吗 但是 如果您有更好的解决方案来实现这种行为 我愿意
  • Keras 拟合在第一个 epoch 结束时冻结

    我目前正在尝试使用 Keras 微调 VGG16 网络 我开始对猫和狗的数据集进行一些调整 然而 在当前的配置下 训练似乎在第一个时期被阻止 from keras import applications from keras preproc
  • 编译器 vs 解释器 vs 转译器

    在我参加的 ReactJS 会议中 演讲者使用了一个术语转译器对于一些代码转换 移植的发生 过去 我听说过编译器和解释器这两个术语 我在将用户编写的语言代码转换为计算机系统上可运行的形式的上下文中使用过 转译器对我来说是新的 转译器与编译器
  • SolrJ 和自动提交

    我正在使用 SolrJ API 将文档添加到 Solr 4 3 核心 我注意到我在我使用的库存 solrconfig 中将自动提交设置为 15 秒 如下所示
  • Rails - 通过 Active Storage 上传文件后在视图中显示图像

    我有一个正在进行中的项目5 1 2我正在尝试在其上实现活动存储 按照几个在线教程 我可以设置活动存储 并且可以看到保存在其中的数据active storage blobs and active storage attachments tab
  • 类型系列扩展无法按描述工作

    On 类型族的 Haskell wiki 页面 http www haskell org haskellwiki GHC Type families 有以下示例列表 type family F a type instance F Int I
  • git hook 获取合法提交消息(#123 好消息)

    我需要确保提交消息是合法的 否则拒绝它 提交消息应该类似于 123修复丢失的括号 我想确保它以哈希开头 有一个整数 没有 123a 并且消息至少有 10 个单词 很高兴有 消息不会连续完全相同 我正在使用这个 Trac 插件进行更改集 它更
  • 从传入 ASPX url 路由到 ASP.NET MVC 控制器操作

    我有一个 url Review aspx reviewId 3 我希望将此 url 路由到 MVC 控制器 操作 Review 3 有任何想法吗 没关系 像这样的简单路线是有效的 routes MapRoute Reviews Old Ro
  • Tcl 扩展:扩展的 ClientData 的生命周期

    重要的本机扩展将需要每个解释器的数据 动态分配的结构 我目前正在使用Tcl SetAssocData 有一个对应的密钥 扩展名和适当的删除例程 以防止此内存泄漏 然而 Tcl PkgProvideEx 也允许记录这样的 信息 该信息可以通过
  • 如何使用 PHP 和 sqlsrv 驱动程序清理输入?

    我正在开发一个使用 sqlsrv 驱动程序的 PHP MSSQL 项目 阻止 SQL 注入攻击的最佳方法是什么 我需要类似 mysql real escape string 的东西 但用于 sqlsrv 驱动程序 如果你像这样使用它 引用是
  • 使用 moment.js 如何给出持续时间的特定格式

    给定来自 API 的秒数持续时间duration seconds 86485 1天0小时1分1秒 我打算使用 moment js 将其转换为格式化的持续时间 如下所示 1 d hh mm ss 1d 00 01 01 2 d d hh h
  • Angular UI Router - 继承状态下的视图

    edit 根据 actor2019的回答 我想更新我的问题以更好地解释问题 Using Angular UI 路由器 https github com angular ui ui router v0 0 2 我已经将应用程序设置为在主 页面