.js 未在 ng-view 上应用
.js not getting applied on ng-view
我有 index.html
和 ng-view
里面。我已将相应的 .js 文件导入到 index.html
,但那些 .js
未在注入视图中应用。
index.html
<!DOCTYPE html>
<html class="no-js css-menubar" lang="en" >
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<head>
<title>gg</title>
<!-- Scripts -->
<script src="js/userdat.js"></script>
</head>
<body class="dashboard site-menubar-push" ng-app="app">
<h1>Header</h1>
<ng-view></ng-view>
<script src="assets/js/jquery-1.9.1.js"></script>
<script src="assets/js/jquery.mobile-1.4.2.js"></script>
<!-- AngularJS Angular-route -->
<!--Angular linking -->
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.6/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.6/angular-route.min.js">
</script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.6/angular-resource.js">
</script>
</body>
</html>
行 <script src="js/userdat.js"></script>
有 jQuery 内容,它加载完美,但其中的逻辑 return 无法在 ng-view
注入 ui elements.if 我在部分导入它工作正常但不稳定,你知道我怎样才能正确导入它。
partials.html
<script src="js/userdat.js"></script>
<div class="jumbotron text-center">
<h1>Home Page 4 Life</h1>
<p>hi</p>
</div>
执行此操作的最佳方法是使用 RequireJS,但如果您的项目已经很大,这将非常困难。
使用 RequireJS,您甚至可以向路由添加解析:
resolve: {
userdat: function($q) {
var deferred = $q.defer();
require(['./js/userdat.js'], function(userdat) {
deferred.resolve(userdat);
});
return deferred;
}
}
如果实现 RequireJS 太难,我会把代码硬编码到视图中。
要么将所有 CDN 包括(jquery、angular、...)放在 <head>
元素中,要么将 userdat.js
放在 userdat.js
元素的底部<body>
.
请注意,如果您正在访问注入 ng-view
的带有 JQuery 的 DOM 元素,您将需要监听 $routeChangeSuccess
事件,因为html 在 angular 摘要后被修改。
我有 index.html
和 ng-view
里面。我已将相应的 .js 文件导入到 index.html
,但那些 .js
未在注入视图中应用。
index.html
<!DOCTYPE html>
<html class="no-js css-menubar" lang="en" >
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<head>
<title>gg</title>
<!-- Scripts -->
<script src="js/userdat.js"></script>
</head>
<body class="dashboard site-menubar-push" ng-app="app">
<h1>Header</h1>
<ng-view></ng-view>
<script src="assets/js/jquery-1.9.1.js"></script>
<script src="assets/js/jquery.mobile-1.4.2.js"></script>
<!-- AngularJS Angular-route -->
<!--Angular linking -->
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.6/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.6/angular-route.min.js">
</script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.6/angular-resource.js">
</script>
</body>
</html>
行 <script src="js/userdat.js"></script>
有 jQuery 内容,它加载完美,但其中的逻辑 return 无法在 ng-view
注入 ui elements.if 我在部分导入它工作正常但不稳定,你知道我怎样才能正确导入它。
partials.html
<script src="js/userdat.js"></script>
<div class="jumbotron text-center">
<h1>Home Page 4 Life</h1>
<p>hi</p>
</div>
执行此操作的最佳方法是使用 RequireJS,但如果您的项目已经很大,这将非常困难。
使用 RequireJS,您甚至可以向路由添加解析:
resolve: {
userdat: function($q) {
var deferred = $q.defer();
require(['./js/userdat.js'], function(userdat) {
deferred.resolve(userdat);
});
return deferred;
}
}
如果实现 RequireJS 太难,我会把代码硬编码到视图中。
要么将所有 CDN 包括(jquery、angular、...)放在 <head>
元素中,要么将 userdat.js
放在 userdat.js
元素的底部<body>
.
请注意,如果您正在访问注入 ng-view
的带有 JQuery 的 DOM 元素,您将需要监听 $routeChangeSuccess
事件,因为html 在 angular 摘要后被修改。