gpt4 book ai didi

javascript - 在 AngularJS 中使用 ngSanitize 指令

转载 作者:行者123 更新时间:2023-11-28 07:47:29 25 4
gpt4 key购买 nike

在我的应用程序中,我有一个非常简单的 Controller ,其工作是显示消息:

angular.module("app.components.messages", ['ngSanitize'])

.controller("MessageBoxController", ['$scope', function($scope)
{
$scope.messageType = 'info';
$scope.hidden = true;

$scope.$on('message.error', function(event, message)
{
$scope.message = message;
$scope.messageType = 'error';
$scope.hidden = false;
});

$scope.$on('message.warning', function(event, message)
{
$scope.message = message;
$scope.messageType = 'warning';
$scope.hidden = false;
});
}]);

那么消息框本身就非常简单:

<div id="message-box" ng-controller="MessageBoxController"></div>

我使用 ngSanitize 因为有时我想在消息中添加链接。例如,在另一个 Controller 中我可能会这样做:

$rootScope.$broadcast('message.warning', 'You are about to download ' + file.name + ' which is ' + file.size + '. Your current quota is ' + user.quotaRemaining + ' click <a href="' + url + '">here</a> to confirm.'); 

这有效,并显示链接和所有内容。但是在这种特殊情况下,在用户单击链接后,我希望它启动另一个函数来更新用户的配额信息。我天真地尝试在我的标签上进行 ng-click,但事实证明 ngSanitize 过滤掉了某些属性,所以这不起作用。

单击消息中的链接后如何才能发生一些事情?我不一定必须使用 ngSanitize,我只是因为它看起来很方便而使用它。

最佳答案

Here解决了类似的问题。只需重命名指令并传递给您消息的指令即可。例如:

<div message="message"></div>

关于javascript - 在 AngularJS 中使用 ngSanitize 指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27288918/

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