我收到了以下指令
productApp.directive('notification', function($timeout) {
return {
restrict : 'E',
replace : false,
scope : {
type: "=",
message: "="
},
template: '<div class="alert {{type}} alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>{{message}}</div>',
link : function(scope, element, attrs) {
console.log(attrs);
$timeout(function() {
element.hide();
}, 3000);
}
}
});
在视图中我得到了这个:
<div ng-bind-html="notificationPoint">
<!-- <notification type="alert.type" message="alert.msg"></notification>-->
</div>
在控制器里面我正在这样做:
$scope.notificationPoint = '<notification type='alert-success' message='this is a test'></notification>'
因此,您可能会意识到,我想制作一个“通知包装器”,其中包含所有通知(子项)(使用通知指令),例如我在数据库中添加一行,删除产品或其他任何内容。因此,这个包装器将不断包含出现和消失的通知。
发生这种情况时,当我在运行它时查看源代码时,没有任何内容插入到包装器div中,甚至在使用ng-bind-html指令时甚至都没有传递给指令代码。
有人知道这是不是一个错误?或者我做错了什么?
由于
答案 0 :(得分:1)
正如其他人在评论中所说,你应该将消息文本传递给指令。但是,请回答原始问题:ng-bind-html
必须与$sce
信任的内容一起使用。例如:
app.controller('myCtrl', function($sce) {
...
$scope.notificationPoint = $sce.trustAsHtml('<notification type='alert-success' message='this is a test'></notification>')
...
}
答案 1 :(得分:0)
我发现这个库的通知,ITS令人难以置信的安装是多么容易,使用起来有多简单!只需通过控制器调用
flash.success = 'Test!';
然后,在控制器中注入服务。
您将向视图发送包装内成功通知(我想做)
该库被称为角闪光。这是带有API文档的github
https://github.com/wmluke/angular-flash
像我一样享受!哈哈惊讶我喜欢它 -