簡體   English   中英

如何將controller.js包含在ng-include html頁面中?

[英]how to include controller.js into ng-include html page?

這是home.html

 <!DOCTYPE html> <html ng-app="myApp"> <head> <meta charset="UTF-8"> <title>SPM</title> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" type="text/css" href="../css/bootstrap/bootstrap.min.css" /> <link rel="stylesheet" type="text/css" href="../css/common/common.css" /> <link rel="stylesheet" type="text/css" href="../js/treeview/css/angular.treeview.css"> <script src="../js/jquery/jquery-2.1.1.min.js"></script> <script src="../js/bootstrap/bootstrap.js"></script> <script type="text/javascript" src="../js/angular/angular.min.js"></script> <script type="text/javascript" src="../js/treeview/angular.treeview.min.js"></script> <script type="text/javascript" src="../js/AJcontrollers/spmControllers.js"></script> <script type='text/javascript'>//<![CDATA[ //angular module 'use strict'; alert("1"); var myApp = angular.module('myApp', ['angularTreeview','ngLoadScript']); myApp.controller('commonController', ['$scope', '$http', function($scope, $http) { $scope.menus = [ { link : '/summary', treeState : '' , url: 'body.html'}, { link : '/indicator', treeState : '' , url: 'manageHierarchy.html'} ]; $scope.menu = $scope.menus[0]; }]); </script> </head> <body ng-controller="commonController"> <div> <div ng-include="'head.html'"></div> </div> <!-- footer --> <footer class="footer"> <div ng-include="'footer.html'"></div> </footer> <!-- footer --> </body> </html> 

head.html是

 <script type='text/javascript'> myApp.controller('headController', ['$scope', '$http', function($scope, $http) { $scope.change = function (param){ alert(param); }; }]); </script> <div ng-controller="headController"> details...... </div> 

使用angularjs版本1.3.7

問題是'找不到headController'

在我的代碼中,我該怎么辦? 我可以改變我的角度版本嗎? 1.2.X版本可以允許函數headController($ scope){.....}; 但是1.3.7無法正常工作我該怎么辦?

這是一個已報道的已知問題。

https://github.com/angular/angular.js/issues/3756

https://gist.github.com/endorama/7369006

長話短說,腳本標簽是一個特殊的小花,角度不會這樣對待它。 如果在包含angular之前包含jquery,則此問題將自行解決。 否則你可以執行github鏈接推薦的腳本延遲加載技術。

或者只是從head.html移動腳本標記並將其放在home.html上,因為它總是需要的。 (免責聲明:我不會為任何大小和復雜的應用程序執行此操作,但對於小的東西,它是最簡單的解決方案。當然,創建js文件並通過單獨的腳本包含它們將是最好的。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM