使用ng-include包含的html文件中的Javascripts不会执行

时间:2015-11-15 06:48:22

标签: javascript angularjs

我正在使用ng-inculde来包含一个html文件,其中包含该页面的一些javascript代码,但javascripts未执行,

这是我的代码:

    <head>
  <meta charset="utf-8">
  <meta http-equiv="x-ua-compatible" content="ie=edge">
  <title ng-cloak>{{Page.Title}}</title>
  <link rel="stylesheet" href="/media/css/bootstrap.min.css">
  <link rel="stylesheet" href="/media/css/swiper.min.css">
  <link rel="stylesheet" href="/media/css/owl.carousel.css">
  <link rel="stylesheet" href="/media/css/style.css">
  <link href="/media/css/nprogress.css" rel="stylesheet">
  <script type="text/javascript" src="/media/js/angular.js"></script>
  <script src="/media/js/jquery-1.11.2.min.js"></script>
  <script type="text/javascript" src="/media/js/app.js"></script>
  <script src="/media/js/vendor/modernizr-2.8.3.min.js"></script>
  <meta name="description" content="">
  <meta name="fragment" content="!">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <script>document.write('<base href="' + document.location + '" />');</script>
  <link rel="apple-touch-icon" href="apple-touch-icon.png">

  <script type="text/javascript" src="/media/js/ng-device-detector.js"></script>
  <script type="text/javascript" src="/media/js/re-tree.js"></script>
  <script type="text/javascript" src="/media/js/angular-route.js"></script>
  <script type="text/javascript" src="/media/js/angular-md5.js"></script>
  <script type="text/javascript" src="/media/js/angular-cache.js"></script>
  <script type="text/javascript" src="/media/js/bootstrap.min.js"></script>
</head>
<body>
      <div ng-view></div>
</body>
</html>

我的home.html页面:

<p>Welcome, this is the home page!!</p>
<div ng-include src="'/template/include/home_s.html'"></div>

这是我的home_s.html:

<script>
  console.log("Selam, chooni khasi?");
  alert("Sellam, choooni?");
</script>

1 个答案:

答案 0 :(得分:2)

或者:

<ng-include src="'/template/include/home_s.html'"></ng-include>

或者:

<div ng-include="'/template/include/home_s.html'"></div>

但是,Angular本身不支持在模板中加载脚本。为此,您需要包含jQuery(确保在Angular之前加载它)。

不使用jQuery进行演示http://plnkr.co/edit/Qh27ArEyIk53VRB7e61C?p=preview

使用jQuery演示http://plnkr.co/edit/TxOmx5ksEFC2larJiJBA?p=preview