问题标签 [angular-ui-modal]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
158 浏览

css - 打开 Angular UI Modal 时强制重新计算 CSS

我正在使用 Angular UI 在网站上包含模态窗口,每次单击打开模态窗口时,在将 HTML 注入 DOM 之前都会有明显的延迟。

我尝试了一切以找出延迟的来源,我将模板放在缓存中,因此它不会从 ajax 请求中加载它。我将计时器放在开发工具控制台等中,最终发现由于打开模式时“重新计算样式”而延迟了大约 200 毫秒。但是,此时模态本身只有 3 个 HTML 标记和 2 个单词,因此不会导致延迟。

然后我意识到它正在重新计算和重新绘制整个页面,因为模式绝对位于页面上方。页面本身很长,包含很多重复的元素,所以需要重绘。

我不能在这里或在小提琴中轻易重复它,但基本上它是一个非常长的页面,包含大量 HTML,并且模态本身是由 Angular UI 在结束正文标记之前注入的。模态本身就是 position:absolute; 顶部:0;对:0;底部:0;左:0;填满屏幕。

我已经在模式和页面内容上尝试了 translateZ(0) 技巧,并且我尝试过 position:fixed 而不是 absolute。如果没有 CHrome 尝试强制重新计算整个页面上的样式,我似乎无法找到一种覆盖模式的方法。

任何想法都将不胜感激。

0 投票
3 回答
701 浏览

angularjs - 如何从父父范围获取价值?

在一页上,我正在做这样的事情:

每个InnerCommunicationTopic都有一个 InnerCommunicationMessage(s) 列表。

该按钮显示了一个模式,我想在其中显示 InnerCommunicationTopic 中的所有 InnerCommunicationMessage(s)。我只是不知道如何做到这一点。

我在这里调用模态:

我在模态中尝试过这样的事情:

我知道这是错误的,id根本无法工作,但我真的不知道,我已经为此搜索了很多。先感谢您!

0 投票
0 回答
102 浏览

javascript - 带有 UI 模态的 Angular UI 路由器

SO上的这个问题有一些变化,并且已经在网络上流传,但它们有点不同并且没有确凿的答案。

基本上,我想在打开模式时更改 UI 路由器状态。然后,我希望发生两件事......

A)如果用户点击后退按钮,我希望模式被解除并且 URL 返回到以前的状态但不重新加载以前的状态控制器等(我只是希望覆盖和模式被删除,因为以前的状态已经在覆盖层下方,并且可能有一个用户正在填写的表单)/

B)如果用户关闭了我希望同样发生的模式,则 URL 应更改回前一个(模式可能已从任何地方打开,因此我们无法硬编码它将返回的状态)并且模态应该关闭。

(A) 使用这段代码几乎可以解决...

但是即使在当前弹出窗口的顶部打开另一个弹出窗口,这也会关闭模式(因为它不知道我们是向前还是向后移动)。基本上我们想说“用户是否点击了后退按钮或状态是否已转换为之前的状态,如果是,则关闭顶部模式)。

(B) 我不知道如何解决。当模态框被关闭时,我们可以强制将状态更改回之前的状态(如果我们知道之前的状态是什么),但是上面的 (A) 代码将被触发并可能从堆栈中删除另一个模态框。此外,先前的状态将被重新启动。基本上,我们只想在模式关闭时返回上一个 URL,但不进行完整的状态更改,如果这有意义吗?

就像我说的那样,那里有一些半解决方案,但似乎没有任何东西可以处理上述情况。有人有什么想法吗?

0 投票
3 回答
911 浏览

javascript - 模态内的角度路线

我有 2 条路线:

他们都工作正常!

我想要的是能够从“/list/:class”路由呈现模式窗口中的其中一个路由的“editortemplate”。

在我的“listController”中,我有模式打开功能:

模板渲染得很好,但我不知道如何将模板所需的 class 和 id 变量传递给它(如其路线所示)。

我尝试使用 variables(class== var b, id== var a) 而不是模板 url 定义路由,但没有运气:

0 投票
2 回答
111 浏览

javascript - Angular-UI 路由器,如果来自 /modal 路由,则不刷新

是否可以全局配置一些东西,以便每次输入新路由时检查前一个路由是否以 /modal 开头,如果是,则不刷新控制器,只需从堆栈中删除顶部模式?

我想我可以通过 reloadOnSearch 和使用搜索参数来实现这一点,但是我必须设置整个站点上的每条路由来设置 reloadOnSearch,因为站点上的任何路由都可以启动模式,所以这是不可取的。

任何帮助将不胜感激。

0 投票
0 回答
106 浏览

angularjs - Angular crud 对话框一种通用或独特的

我开始构建一个 AngularJs 应用程序。我有很多带有 add\edit 操作的对话框。我的问题是我是否应该为每个操作构建函数/控制器/服务,但只有不同的处理程序具有相同的 html?还是我应该以通用方式(以及许多 if 案例)来做?第一个选项的成本是多少?

0 投票
1 回答
3552 浏览

javascript - 如何使用 angular-ui 模态模板 URL 和节点/快速路由

我对为什么会收到此错误感到有些困惑。我有一种预感,它与 templateURL 相关,我尝试了一些方法,但无济于事。我已经阅读了文档并搜索了一堆 SO 帖子,但没有一个有太大帮助。我想使用 Express/Node 来提供页面,我有一种感觉,这就是我的 templateURL 在 app.js 中不起作用的原因。

这是我的 index.html 与我的控制器和我的模板。

这就是 app.js 中的内容

我也尝试将 templateURL 替换为,template: "<p> hello world </p>"但这也会产生相同的错误。

这是错误跟踪: 在此处输入图像描述

0 投票
5 回答
28568 浏览

angularjs - Angular UI Bootstrap 模式:[$injector:unpr] 未知提供者:$uibModalInstanceProvider

这有点奇怪。当我在网上搜索这个问题时,我看到很多页面的谷歌结果和 SO 解决方案......但似乎没有一个有效!

简而言之,我正在尝试实现 AngularUI Bootstrap Modal。我不断收到以下错误:

错误:[$injector:unpr] 未知提供者:$uibModalInstanceProvider <- $uibModalInstance <- addEntryCtrl

这是我的 HTML:

这是我的控制器:

最后,这是我的模态代码:

我尝试过的解决方案:

  • 更新了 Angular Bootstrap(版本:0.14.3)和 Angular(v1.4.8)
  • 将 uibModalInstance 更改为 modalInstance
  • 将 $uibModalInstance 更改为 modalInstance
  • 将我的 addEntryCtrl 放入我的 ModalInstance

有什么想法吗?这已经把我逼到墙上将近 2 天了。

* 编辑 *

我应该注意两点:

1) 当我从 addEntry 中删除 $uibModalInstance 作为依赖项时,我的 HTML 表单提交按钮工作得很好,表单看起来很完美。即使重定向正确发生(提交时)。问题仍然存在:模式仍然停留在屏幕上,并抛出 $uibModalInstance 未定义的错误。这是有道理的,因为我将它作为依赖项删除了,但我显然仍然需要模式在提交时关闭。

2)另外,我在我的应用程序的另一部分工作的代码几乎相同。唯一的区别是它是通过工厂工作的。否则,代码是相同的。因此,我相信我的依赖项都在那里并且版本是正确的。所以。吓坏了。奇怪的。

谢谢!

0 投票
1 回答
1771 浏览

angularjs - ui-bootstrap 如何获取别名视图中的范围

查看调用模式

我有这个代码,你应该:打开一个模式,将数据带入 angular-ui-bootstrap 正在使用的控制器中。但它没有得到选择的“项目”的结果。

在我的控制器中:

鉴于列表:

此模式打开,但不带以下内容:

模板网址:

0 投票
3 回答
406 浏览

javascript - 向 Angular js 中的控制器注入常量(模式弹出问题)

我在单击 ng 网格中的一行中的一个按钮时显示一个模态弹出窗口。因此,要在模态弹出窗口中获取一个表单,我将使用 JSON Schema 填充它,如下所示

Modal Pop Up 的 Html 是

架构被放入外部 js 文件中的常量中,如下所示:

因此,在单击一行时,ng-grid我正在执行一个名为 edit row 的函数,它将打开弹出窗口并根据常量填写表单。

但是在这里,我对如何将常量注入控制器函数感到有些困惑。因此,模态以空白形式出现。

感谢任何帮助!