gpt4 book ai didi

javascript - 如何将 controller.js 包含到 ng-include html 页面中?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:43:35 24 4
gpt4 key购买 nike

这是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”

在我的代码中我应该做什么?我可以更改我的 Angular 版本吗?1.2.X 版本可以允许 function headController($scope){ .....};但 1.3.7 不起作用我能做什么?

最佳答案

这是一个已报告的已知问题。

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

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

长话短说,script 标签是一朵特殊的小花,angular 不会这样对待它。如果在包含 angular 之前包含 jquery,此问题将自行解决。否则,您可以执行 github 链接推荐的脚本延迟加载技术。

或者只需将 script 标记从 head.html 移到 home.html 上,因为它总是需要的。 (免责声明:我不会为任何规模和复杂性的应用程序执行此操作,但对于小型应用程序,这是最简单的解决方案。当然,最好创建 js 文件并通过单独的脚本包含它们。)

关于javascript - 如何将 controller.js 包含到 ng-include html 页面中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27599184/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com