gpt4 book ai didi

javascript - 如何使用ngDialog弹出?

转载 作者:行者123 更新时间:2023-11-29 19:35:13 25 4
gpt4 key购买 nike

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

我的 Json 文件名为 abc.json

[{"id":
[
{
"value":"text_id",
"desc":"Text id"
},
{
"value":"group_id",
"desc":"Group id"
},
]
}]

Angular Controller

'use strict';

angular.module('mine.controllers', [])
.controller('myController', ['$scope', '$sce', '$http', function($scope, $sce, $http, ngDialog) {
$http.get('abc.json')
.success(function(data) {
$scope.ids = data;
});
$scope.openPlain = function (message) {
ngDialog.open(message);
};
}]);

最后是 HTML

<body ng-app="mine">
<table ng-controller="myController">
<tr ng-repeat="datas in ids">
<td>
<span ng-repeat="iden in datas.id">
<a href="" ng-click='openPlain("{{ iden.desc }}")'>{{ iden.value }}</a>,
</span>
</td>
</tr>
</table>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/ng-dialog/0.2.3/js/ngDialog.min.js"></script>
</body>

这是 JsFiddle ,但我也不能让它与 JsFiddle 一起工作,一些不同的错误。

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

TypeError: Cannot call method 'open' of undefined

所以我猜测 ngDialog 未加载或其他原因。

最佳答案

你没有正确地将 ngDialog 注入(inject)到你的 Controller 中:

这一行:

.controller('myController', ['$scope', '$sce', '$http',  
function($scope, $sce, $http, ngDialog) {

这应该是:

.controller('myController', ['$scope', '$sce', '$http', 'ngDialog', 
function($scope, $sce, $http, ngDialog) {

这是你的 fiddle 工作。您没有指定用于布局对话框的模板。无论如何,这会让你走得更远。

http://jsfiddle.net/ys01yoLk/5/

关于javascript - 如何使用ngDialog弹出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25443328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com