AngularJS-为所有页面上包含的页脚和页眉触发相同的事件

AngularJS-为所有页面上包含的页脚和页眉触发相同的事件,angularjs,events,scope,include,Angularjs,Events,Scope,Include,这个问题很有可能是重复的,但经过一些搜索,我无法找到一个很好的解释,我的问题-所以我道歉,如果是这样的情况 我有一个模板,实际上是这样写的: <div ng-include="'includes/header.html'"></div> <section>... Template for homepage, page1, page2... </section> <div ng-include="'includes/footer.html'

这个问题很有可能是重复的,但经过一些搜索,我无法找到一个很好的解释,我的问题-所以我道歉,如果是这样的情况

我有一个模板,实际上是这样写的:

<div ng-include="'includes/header.html'"></div>

<section>... Template for homepage, page1, page2... </section>

<div ng-include="'includes/footer.html'"></div>
<section class="header">
    <div class="wrapper">
        <a href="#/"><img id="logotype" src="images/logotype.png"></a>
        <ul id="menu">
            <li>
                <a href="#/">Home</a>
            </li>
            <li class="border-none">
                <a class="a" ng-click="chatClicked = !chatClicked">Click to chat</a>
            </li>
            <li id="logout" class="glyphicon glyphicon-off border-none">
                <a href="#/logout">Logout</a>
            </li>
        </ul>
    </div>
</section>
<section class="footer">
    <div class="wrapper">
        <ul id="menu-left">
            <li>
                <a href="#/">Home</a>
            </li>
            <li>
                <a class="a" ng-click="chatClicked = !chatClicked">Click to chat</a>
            </li>
    </div>
</section>

... 主页模板,第1页,第2页。。。
My header.html如下所示:

<div ng-include="'includes/header.html'"></div>

<section>... Template for homepage, page1, page2... </section>

<div ng-include="'includes/footer.html'"></div>
<section class="header">
    <div class="wrapper">
        <a href="#/"><img id="logotype" src="images/logotype.png"></a>
        <ul id="menu">
            <li>
                <a href="#/">Home</a>
            </li>
            <li class="border-none">
                <a class="a" ng-click="chatClicked = !chatClicked">Click to chat</a>
            </li>
            <li id="logout" class="glyphicon glyphicon-off border-none">
                <a href="#/logout">Logout</a>
            </li>
        </ul>
    </div>
</section>
<section class="footer">
    <div class="wrapper">
        <ul id="menu-left">
            <li>
                <a href="#/">Home</a>
            </li>
            <li>
                <a class="a" ng-click="chatClicked = !chatClicked">Click to chat</a>
            </li>
    </div>
</section>

我的footer.html如下所示:

<div ng-include="'includes/header.html'"></div>

<section>... Template for homepage, page1, page2... </section>

<div ng-include="'includes/footer.html'"></div>
<section class="header">
    <div class="wrapper">
        <a href="#/"><img id="logotype" src="images/logotype.png"></a>
        <ul id="menu">
            <li>
                <a href="#/">Home</a>
            </li>
            <li class="border-none">
                <a class="a" ng-click="chatClicked = !chatClicked">Click to chat</a>
            </li>
            <li id="logout" class="glyphicon glyphicon-off border-none">
                <a href="#/logout">Logout</a>
            </li>
        </ul>
    </div>
</section>
<section class="footer">
    <div class="wrapper">
        <ul id="menu-left">
            <li>
                <a href="#/">Home</a>
            </li>
            <li>
                <a class="a" ng-click="chatClicked = !chatClicked">Click to chat</a>
            </li>
    </div>
</section>

  • 点击聊天
我想知道是否有办法在所有页面上打开/隐藏这个新的包含(



)每次触发chatCliked事件时(如果可能的话),最好将最后一个div放在哪里?

确定使用此链接解决的问题,抱歉:

这是一个范围问题

我必须在控制器中添加以下内容:

app.controller('homeController',
        ['$scope'',
            function ($scope) {

                $scope.chat = { clicked: false };
}]); 
在我看来:

<div ng-include="'includes/header.html'"></div>

<div ng-if="chat.clicked" ng-controller='ChatController' ng-include="'modules/chat/popup-contact.html'"></div>

在my header.html中:

<a class="a" ng-click="chat.clicked = !chat.clicked">Contact us</a>
联系我们

虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,只有链接的答案可能会变得无效。@theDmi:Roger-that-answer。