如何在AngularRoute视图中执行Javascript

如何在AngularRoute视图中执行Javascript,javascript,angularjs,cordova,Javascript,Angularjs,Cordova,我正在使用Angular的ngRoute作为MVC编写一个phonegap应用程序。这一切都很好地工作,除了我的顶部栏,其中包括用于滑出菜单的触发按钮。现在,每个页面的顶部栏都有相同的标题,所以为了解决这个问题,我将顶部栏移到了route视图的内部,这使得我的滑出菜单停止工作 如何让javascript触发器在路由视图中正确运行(我知道这与页面及其所有JS有关,在路由视图实际加载之前呈现),我还想在路由视图中执行其他JS。例如,其中一个视图处理GPS定位和NFC芯片读取,我希望只在该视图处于活动

我正在使用Angular的ngRoute作为MVC编写一个phonegap应用程序。这一切都很好地工作,除了我的顶部栏,其中包括用于滑出菜单的触发按钮。现在,每个页面的顶部栏都有相同的标题,所以为了解决这个问题,我将顶部栏移到了route视图的内部,这使得我的滑出菜单停止工作

如何让javascript触发器在路由视图中正确运行(我知道这与页面及其所有JS有关,在路由视图实际加载之前呈现),我还想在路由视图中执行其他JS。例如,其中一个视图处理GPS定位和NFC芯片读取,我希望只在该视图处于活动状态时执行这些脚本,而不是一直执行这些脚本,这样即使在该视图未使用时,也会占用监听NFC芯片和地理数据的电池

如果这是不可能的或是一个严重的痛苦,那么我会尽快回到传统的页面更改,而不是浏览,我只是希望有一种方法可以做到这一点

以下是说明问题的相关代码:

index.html:

<script type="text/javascript">
   $(window).load(function() {
        $('#menutoggle').toggle(function() {
            $('#right').animate({
                left: 200
            });
        }, function() {
            $('#right').animate({
                left: 0
            });
        });
    });
</script>
<div id="menu">
<span class="logo-bar"></span>
    <ul id="sidenav">
        <li>
            <a href="#/Checkin">
                <img src="img/home.png">Check In
            </a>
        </li>
        <li>
            <a href="#/logout">
                <img src="img/logout.png">Logout</a>
        </li>
    </ul>
  </div>
  <div class="content view-animate-container">
    <div id="contentcontroller" ng-view class="view-animate wrapper">

    </div>
  </div>

$(窗口)。加载(函数(){
$('#menutoggle')。切换(函数(){
$(“#右”)。设置动画({
左:200
});
},函数(){
$(“#右”)。设置动画({
左:0
});
});
});
CheckIn.html

<div id="right">
    <div id="menubar">
        <div id="menutoggle">
        </div>
        <div class="title">
            Check In
        </div>
    </div>
</div>

登记入住
现在,无论最初加载什么视图,切换按钮都可以正常工作,但是一旦页面发生更改,菜单切换就会停止


有什么办法可以解决这个问题吗?

由于问题的措辞现在已经确定,很可能会拉低投票数和/或接近投票数。您从未直接提出过实际问题,也没有提供任何代码来说明您的问题,也没有提供任何实际和预期结果的示例。你所说的“希望有办法做到这一点”,充其量只能画出“是的,有办法”类型的答案,但给人的印象是你希望有人会为你编写代码。这很公平。我重新编写并添加了示例代码。如果需要,我可以稍后添加屏幕截图。除了ng视图之外,我在这个视图中看不到任何与角度相关的代码,但我会采取的方法是为topbar创建一个单独的控制器,将topbar保留在主索引中,并使用类似于
{pageTitle}
的表达式,而不是硬编码文本
签入
。您使用的jquery会中断,因为它不知道ui视图会破坏
,并在页面更改时用另一个视图替换它。对,我认为对于滑出菜单,元素也会消失。根据我所读的内容,我还可以为路由视图创建一个控制器,并在该控制器中加载任何视图特定的JS?但是,文档并不是真正用来实现这一点的,在那里加载jquery也不是,事实上,一旦将其导出并安装到设备上,应用程序就不会加载。我想用这样的指令,所以我想我会这么做。如果你想在聊天中谈论一些选项,我将在一个半小时后在电脑前。。。