问题标签 [ng-dialog]

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 投票
1 回答
19880 浏览

javascript - Angular js - ngDialog 如何从控制器打开对话框?

您好我安装了以下模块https://github.com/likeastore/ngDialog

它工作得很好,但我不知道如何从控制器打开对话框,我这样做:

但它没有按预期工作,因为我得到控制台错误:ngDialog is not defined

0 投票
1 回答
1657 浏览

javascript - 销毁在 ngDialog 模式中启动的 AngularJS $interval

我有一个显示数据表的模式。底层数据使用 $http 和 $interval 每隔几秒更新一次,但仅在模态显示时才更新。我正在为模态使用ngDialog库。我需要更新以在模式关闭时停止,但我不知道触发这种破坏的最佳方法。一些代码:

如何检测模态关闭?

谢谢。

0 投票
1 回答
21887 浏览

javascript - 如何使在 ngDialog 模式中所做的更改出现在主页上

我是 AngularJs 和ngDialog的新手,我无法让我的绑定在 ngDialog 模式和我的控制器之间工作。我通过指定将控制器的作用域注入到模态中{ scope: $scope },并且我可以访问控制器中定义的方法,但是控制器中定义的模型绑定无法正常运行。

我正在尝试使用模式来允许用户向组织添加地址。

这是 main.js

这是组织.html:

这是add-address.html:

模态可以访问父范围;它成功调用$scope.saveAddress()console.log($scope.organization)记录了整个组织,包括模态中添加的新地址。但是,新地址并没有反映在ng-repeatorganization.html中,如果我一个接一个地添加多个地址,日志中只会显示最近的一个。

作为一个实验,我在 main.js 中添加了这个函数:

并更改了 organization.html 中的“添加地址”按钮以匹配:

现在,当我单击“添加地址”时,新地址会立即显示在 中ng-repeat,并且每个控制台日志都包含所有地址,而不仅仅是最近的地址。

这两种方法有什么区别?为什么在使用控制器范围内的方法进行模式更改时会“过期”?

0 投票
1 回答
3209 浏览

angularjs - 就像我们在 JQuery 提示符中所做的那样,如何在 Angular js 中向 ng-dialog 添加标题、消息、按钮

我将 https://github.com/likeastore/ngDialog#api用于Ng Dialog

我想显示一个带有标题、消息和要显示的按钮的对话框。

提前致谢。

0 投票
2 回答
20891 浏览

javascript - 如何使用 ngDialog 弹出窗口?

我无法让这个ngDialog模块与AngularJs一起工作,所以寻找一些我出错的提示。

我的 Json 文件名为abc.json

角度控制器

最后是 HTML

这是JsFiddle,但我也无法使其与 JsFiddle 一起使用,一些不同的错误。

value在我的本地机器中,当 DOM 加载并且从 JSON 文件中正确显示时,我没有收到任何错误。但是,当我单击链接时,出现此错误:

所以我猜ngDialog没有加载或其他什么。

0 投票
2 回答
8142 浏览

angularjs - ngDialog 不适用于“外部”控制器

弹出ng-dialog时 出现此错误。这是弹出对话框的函数:

这是控制器的代码:

弹窗中的结果如下图所示:

备注:

  • 我用一个在对话框外没有问题的控制器对其进行了测试。
  • 这是在 ngDialog pop(第 110 行)中使用的控制器的“官方”示例(第 202 行)
  • 我已经将 js 文件添加到 index.html 中,如此处所述
0 投票
2 回答
17790 浏览

javascript - 使用范围时,$dialog 中的 ngModel 字段未更新 ngDialog $scope 变量:$scope

我有一个控制器,它使用 ngDialog.open 创建一个对话框。我在弹出的 $dialog 中分配 scope:$scope 并使用 ng-model 设置范围变量。但是,这些值未在控制器 $scope 中设置。ng-click 函数能够调用 $scope 中的函数。

有什么我遗漏的吗,我在这里和 github 上搜索了很多,阅读了文档并使用了项目中 github 上提供的所有示例。

下面的 JS Fiddles 解释了。它表明 scope:$scope 不是 .open() 看起来的样子。这是一种单向绑定,不会返回到 $scope。.openConfrm() 似乎具有预期的行为。

ngDialog.open() - http://jsfiddle.net/s1ca0h9x/ (已修复!!按预期工作)

ngDialog.openConfirm() - http://jsfiddle.net/tbosLoa9/ (按预期工作)

});

0 投票
2 回答
823 浏览

angularjs - AngularJS - $rootScope.$apply 不会导致刷新从后代范围提供的 ng-model 指令

我有一个$rootScope.$apply()由包装调用(SDK.api)包装的函数:

实际上,这是 Facebook JS SDK 的包装器(而不是普通的 FB 对象),并且在$rootScope.$apply(). 我可以确保因为$scope.$apply()在这样的函数末尾使用会引发"inprog"错误(即我不能在调用$apply内部调用$apply)。

代码中的这个$scope对象(以及我在这里写的代码块)属于我为ngDialog插件创建的控制器。ng 对话框如下所示:

$scopein是主控制器的scope: $scope范围(我的应用程序只有一个控制器 - 它不是太大)。

所以我们可以说:$rootScope$scope主控制器的父级,同时也是$scope' ngDialogs 的父级$scope

在 grandchild$scope中,form数据被更新:

还有url + 'partials/dialog-form.html'实际存在并被渲染的模板。内容如下(不相关的代码我会省略):

假设 的值ng-submitng-repeat存在。

我的问题ng-model没有从$scope.form.

我的问题:我做错了什么?表单按原样工作,服务器端的数据按原样接收。我在 *** 中唯一的痛苦是这些字段在$rootScope.$apply被调用时没有被反映 - 我需要从 Facebook 预填充的这些字段(我从 Facebook 检索此类数据没有问题:如果我用它记录数据,我可以确定数据到达$window.console.log)。

编辑附录:API 调用

0 投票
3 回答
997 浏览

javascript - AngularJS ng-repeat 未检测到使用 ng-include 动态生成的数组

问题

我发现 ng-repeat 指令无法跟踪新数组的添加。
在我的示例中,新数组是“选项”。
该指令是使用 ng-dialog(第 3 方库)显示的模板的一部分。
如果我关闭对话框并再次打开它,ng-repeat 将获取我在关闭它之前所做的那些更改。

我试过 $scope.$apply(); 但我收到一个警告,它已经在运行。

更新++

我最终使用的解决方案是在 ng-init 上添加一个函数来首先检查该数组是否存在,如果它不存在,则创建它,然后将其分配给新变量。

这是一个更深入的例子,
写这个 jsFiddle 已经指出问题出在 ng-include/ng-repeat - 没有这个很好。 http://jsfiddle.net/20mobk2h/56/
http://jsfiddle.net/20mobk2h/61/

ng-repeat 在称为选项的数组上循环,该数组可能存在也可能不存在。

我通过以下方式添加了一个新选项:

0 投票
1 回答
4699 浏览

javascript - AngularJs:将值传递给打开 ngDialog 的指令,然后更新值反映在根范围内

围绕这个已经有一段时间了;基本上我有一个打开 ngDialog 的指令,该指令需要能够从根范围中获取一个变量。该指令基本上有一个单击事件,该事件会打开一个 ngDialog,然后该 ngDialog 使用传入的值并将其设置为文本框的文本......一旦 ngDialog 中的文本框被更新,它应该反映根范围的更改。

我的问题传入的值没有链接到根范围,一旦在 ngDialog 中更新值,它就不会反映回根范围我很确定我只是犯了一个基本错误,有人可以帮忙吗?

//HTML

//Js

//小提琴

http://jsfiddle.net/Egli/od8a2hL0/

//感谢 :D

提前致谢