1

我想在我的所有视图中添加一段代码,以在顶部显示一个通知栏,以便通知用户。

我正在尝试使用指令来做到这一点。检查这个简单的示例: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"
            });

这是正确的方法吗?

提前致谢!

4

2 回答 2

2

如果您的所有视图都需要此标题,您可能应该将标题放在单独的视图中(带有自己的控制器),并使用 ng-view 仅更改页面的主要内容区域。

如果不同的视图需要影响header中显示的内容(即影响header的模型数据),那么这个模型数据应该被放入一个服务中,然后不同的视图可以注入那个服务来影响模型。

我最近回答了一个与此非常相似的 SO 问题,所以我建议也看一下: https
://stackoverflow.com/a/16065385/215945该答案还引用了一个关于购物篮的问题,该问题的商品数量在标题。项目计数需要由多个控制器更新,因此我们将其放入服务中。

于 2013-04-19T14:46:10.930 回答
1

是的,这是正确的。你也可以点击这个链接: http: //onehungrymind.com/angularjs-directives-basics/

于 2013-04-19T10:13:17.363 回答