.js没有应用于ng-view

时间:2016-02-10 10:51:36

标签: javascript jquery html angularjs angularjs-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的东西,它加载完美,但逻辑返回它没有工作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>

2 个答案:

答案 0 :(得分:1)

将所有CDN包含在<head>元素中的(jquery,angular,...)或将userdat.js放在<body>的底部。

请注意,如果您使用注入ng-view的JQuery访问DOM元素,则需要收听$routeChangeSuccess事件,因为在角度摘要后修改了html。< / p>

答案 1 :(得分:0)

执行此操作的最佳方法是使用RequireJS,但如果您的项目已经很大,那么这将非常困难。

使用RequireJS,您甚至可以为路线添加解决方案:

resolve: {
  userdat: function($q) {
    var deferred = $q.defer();
    require(['./js/userdat.js'], function(userdat) {
      deferred.resolve(userdat);
    });
    return deferred;
  }
}

如果实施RequireJS太难了,我只需将代码硬编码到视图中。