我想在我的所有视图中添加一段代码,以便在顶部显示通知栏,以便通知用户。
我正试图用指令做到这一点。检查这个简单的样本: http://jsfiddle.net/dirkom/wsrb6/2/
HTML:
<bca-notification></bca-notification>
指令:
.directive('bcaNotification', function () {
var notification = '<div id="notification" ng-init="showThis=true" ng-show="showThis">' +
'Error message<a id="close" ng-click="showThis = false">Close</a></div>';
return({
template: notification,
restrict: "E"
});
这是正确的方法吗?
提前致谢!
答案 0 :(得分:2)
如果所有的视图都需要此标题,您应该将标题放在单独的视图中(使用自己的控制器),并使用ng-view仅更改您的主要内容区域页。
如果不同的视图需要影响标题中显示的内容(即影响标题的模型数据),则应将此模型数据放入服务中,然后不同的视图可以注入该服务以影响模型。
我最近回答了一个与此非常相似的问题,所以我建议也看一下:
https://stackoverflow.com/a/16065385/215945
该答案还引用了question about a
shopping basket,其中的项目计数位于标题中。项目计数需要由多个控制器更新,因此我们将其放入服务中。
答案 1 :(得分:1)
是的,这是正确的。您也可以点击此链接:http://onehungrymind.com/angularjs-directives-basics/