问题标签 [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.
javascript - Angular js - ngDialog 如何从控制器打开对话框?
您好我安装了以下模块https://github.com/likeastore/ngDialog
它工作得很好,但我不知道如何从控制器打开对话框,我这样做:
但它没有按预期工作,因为我得到控制台错误:ngDialog is not defined。
javascript - 销毁在 ngDialog 模式中启动的 AngularJS $interval
我有一个显示数据表的模式。底层数据使用 $http 和 $interval 每隔几秒更新一次,但仅在模态显示时才更新。我正在为模态使用ngDialog库。我需要更新以在模式关闭时停止,但我不知道触发这种破坏的最佳方法。一些代码:
如何检测模态关闭?
谢谢。
javascript - 如何使在 ngDialog 模式中所做的更改出现在主页上
我是 AngularJs 和ngDialog的新手,我无法让我的绑定在 ngDialog 模式和我的控制器之间工作。我通过指定将控制器的作用域注入到模态中{ scope: $scope }
,并且我可以访问控制器中定义的方法,但是控制器中定义的模型绑定无法正常运行。
我正在尝试使用模式来允许用户向组织添加地址。
这是 main.js
这是组织.html:
这是add-address.html:
模态可以访问父范围;它成功调用$scope.saveAddress()
并console.log($scope.organization)
记录了整个组织,包括模态中添加的新地址。但是,新地址并没有反映在ng-repeat
organization.html中,如果我一个接一个地添加多个地址,日志中只会显示最近的一个。
作为一个实验,我在 main.js 中添加了这个函数:
并更改了 organization.html 中的“添加地址”按钮以匹配:
现在,当我单击“添加地址”时,新地址会立即显示在 中ng-repeat
,并且每个控制台日志都包含所有地址,而不仅仅是最近的地址。
这两种方法有什么区别?为什么在使用控制器范围内的方法进行模式更改时会“过期”?
javascript - 如何使用 ngDialog 弹出窗口?
我无法让这个ngDialog模块与AngularJs一起工作,所以寻找一些我出错的提示。
我的 Json 文件名为abc.json
角度控制器
最后是 HTML
这是JsFiddle,但我也无法使其与 JsFiddle 一起使用,一些不同的错误。
value
在我的本地机器中,当 DOM 加载并且从 JSON 文件中正确显示时,我没有收到任何错误。但是,当我单击链接时,出现此错误:
所以我猜ngDialog没有加载或其他什么。
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/ (按预期工作)
});
angularjs - AngularJS - $rootScope.$apply 不会导致刷新从后代范围提供的 ng-model 指令
我有一个$rootScope.$apply()
由包装调用(SDK.api)包装的函数:
实际上,这是 Facebook JS SDK 的包装器(而不是普通的 FB 对象),并且在$rootScope.$apply()
. 我可以确保因为$scope.$apply()
在这样的函数末尾使用会引发"inprog"
错误(即我不能在调用$apply
内部调用$apply
)。
代码中的这个$scope
对象(以及我在这里写的代码块)属于我为ngDialog
插件创建的控制器。ng 对话框如下所示:
$scope
in是主控制器的scope: $scope
范围(我的应用程序只有一个控制器 - 它不是太大)。
所以我们可以说:$rootScope
是$scope
主控制器的父级,同时也是$scope
' ngDialog
s 的父级$scope
。
在 grandchild$scope
中,form
数据被更新:
还有url + 'partials/dialog-form.html'
实际存在并被渲染的模板。内容如下(不相关的代码我会省略):
假设 的值ng-submit
,ng-repeat
存在。
我的问题:ng-model
没有从$scope.form
.
我的问题:我做错了什么?表单按原样工作,服务器端的数据按原样接收。我在 *** 中唯一的痛苦是这些字段在$rootScope.$apply
被调用时没有被反映 - 我需要从 Facebook 预填充的这些字段(我从 Facebook 检索此类数据没有问题:如果我用它记录数据,我可以确定数据到达$window.console.log
)。
编辑附录:API 调用
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 在称为选项的数组上循环,该数组可能存在也可能不存在。
我通过以下方式添加了一个新选项:
javascript - AngularJs:将值传递给打开 ngDialog 的指令,然后更新值反映在根范围内
围绕这个已经有一段时间了;基本上我有一个打开 ngDialog 的指令,该指令需要能够从根范围中获取一个变量。该指令基本上有一个单击事件,该事件会打开一个 ngDialog,然后该 ngDialog 使用传入的值并将其设置为文本框的文本......一旦 ngDialog 中的文本框被更新,它应该反映根范围的更改。
我的问题传入的值没有链接到根范围,一旦在 ngDialog 中更新值,它就不会反映回根范围我很确定我只是犯了一个基本错误,有人可以帮忙吗?
//HTML
//Js
//小提琴
http://jsfiddle.net/Egli/od8a2hL0/
//感谢 :D
提前致谢