如何动态创建在 AngularJS 中显示模态 (uibModal) 对话框的可点击关键字



我是AngularJS的新手。 我一直在开发一个显示列表的网站。 列表中的每个元素都是从服务器以字符串形式传递的。 在每个元素中,我使用条形作为我希望用户能够点击的关键字的度量(即这是此元素中的 |关键字|

我使用控制器/过滤器来创建 html 以删除分隔符并使关键字变为红色(使用类(。 所以html看起来最终看起来像这样:

<span ng-controller="formatForGlossaryAndCodeTextCtrl" class="ng-scope">
<span ng-bind-html="formattedLineItem" class="ng-binding">
this is a
<span class="glossaryLookup" >keyword</span> <!--here is my keyword--> 
in this element 
</span>
</span>

我尝试让过滤器也生成ng-controller=xxxng-click=xxx以保持在角度世界中,但这不起作用(当我这样做时,我的关键字不可点击(。

我确实有 jQuery 代码,它将点击事件绑定到带有class=glossaryLookup的元素。 当我单击关键字时,它当前会显示警报。

我不知道如何让该单击以显示角度模态对话框。 我希望它使用角度模态对话框,因为同一应用程序的另一部分已经显示角度模态对话框,我希望保持一致

所以,简而言之...服务器向浏览器传递包含一个或多个分隔单词的字符串。 我希望浏览器上的角度/js/jquery代码不仅可以突出显示分隔的单词,还可以单击它们,查找定义(我不关心如何查找定义,至少现在还没有(并在$uibModal中显示该定义。

感谢您的任何帮助。

我想我实际上想通了。 我创建了一个 dummydiv 并给了它一个 id (id=dummydiv(。 我"分配"一个控制器给那个div(ng-controller=dummyCtrl(。

`<div id=dummydiv ng-controller=dummyCtrl></div>`

在将 click 事件绑定到我的关键字的 jQuery 代码中,我使用以下代码行在显示对话框的虚拟控制器中运行函数:

`$(document).ready(function () {
$(document)
.on("click", ".glossaryLookup", "NEED TO LOOKUP IN GLOSSARY", function (x) {
angular.element($("#dummydiv")).scope().testclick();
})
.on("click", ".codeTextLookup", "NEED TO LOOKUP CODE TEXT", function (x) {
alert(x.data)
})
});`

顺便说一句 - 虚拟控制器看起来像这样:

`//DUMMY CONTROLLER TO TEST DYNAMIC CLICK
Hydroware_Checkbox_List_Prototype_App.controller('dummyCtrl', function ($scope, $uibModal) {
$scope.testclick = function () {
alert("I WAS CLICKED BUDDY");
var modalInstance = $uibModal.open({
templateUrl: 'line_item_help.html',
controller: "LineItemHelpDialogCtrl",
scope: $scope
});
};
});`

相关内容

  • 没有找到相关文章

最新更新