我正在做一个带有angularJS和ui路由器的网站。
我的问题是,我有一个自定义的Javascript文件,用于我的下拉菜单和页面中的其他资源。当我直接在我的索引页面中编写html,或者使用PHP include在页面中包含代码时,一切都可以正常工作。但是当使用ui-route时,我的Javascript代码不能与视图中的对象一起工作,我不知道为什么。
我尝试了延迟加载,但失败了。
下面是我的html代码:
<body ng-app="MuRings">
<div ui-view="menu"></div>我的路由器代码:
var app = angular.module("MuRings", ["ui.router"])
.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('home', {
url: "/",
views: {
"topContacts": { templateUrl: "views/topContacts.html"},
"menu": { templateUrl: "views/navbar.html"},
"headerTitle": { templateUrl: "views/headerTitle.html"}
}
});
$urlRouterProvider.otherwise("/");
});我正在将此导航栏加载到ui-view中:
<nav class="nk-navbar nk-navbar-top nk-navbar-sticky nk-navbar-autohide">
<div class="container">
<div class="nk-nav-table">
<a href="index.html" class="nk-nav-logo">
<img src="assets/images/logo.png" alt="" width="90">
</a>
<ul class="nk-nav nk-nav-right hidden-md-down" data-nav-mobile="#nk-nav-mobile">
<li class="active">
<a href="index.html">Home</a>
</li>
<li class=" ">
<a href="#">Sobre o Jogo</a>
</li>
<li class=" nk-mega-item nk-drop-item">
<a href="#">Guias</a>
<div class="dropdown">
<div class="bg-image" style="background-image: url('assets/images/bg-menu.jpg')"></div>
<ul>
<li>
<ul>
<li class=" ">
<a href="element-carousels.html"> Carousels</a>
</li>
<li class=" ">
<a href="element-image-boxes.html"> Image Boxes</a>
</li>
</ul>
</li>
</ul>
</div>
</li>
<li class=" nk-drop-item">
<a href="#"> Media </a>
<ul class="dropdown">
<li class=" ">
<a href="./pages/gallery-3-col.html"> Fotos </a>
</li>
<li class=" ">
<a href="./pages/videos-2-col.html"> Videos </a>
</li>
</ul>
</li>
</ul>
</div>
</div>
</nav>并尝试从JS文件中执行类似的操作
// add link effect for navbar
$('.nk-navbar ul > li > a:not(.btn):not(.nk-btn):not(.no-link-effect)').addClass('link-effect-4');发布于 2016-11-01 02:51:35
我已经能够通过将所有脚本导入到一个html文件中并将其加载到ui-view中来解决这个问题。
这是一个庞大的变通方法,不是最好的解决方案。我之所以这样做,是因为我的Jquery脚本有6000多行,我需要花很多时间来重写它。
https://stackoverflow.com/questions/40324641
复制相似问题