将文件内 Javascript 与 AngularJS 和 Apache Tiles 结合使用
Use in-file Javascript with AngularJS and Apache Tiles
我一直在学习 AngularJs,目前有一个使用 Apache Tiles 的应用程序。在将 AngularJs 添加到应用程序之前,我的页脚磁贴中有一段代码可以计算当前年份,如下所示:
footer.html
<script type="text/javascript">
var year = new Date().getFullYear();
</script>
<tr ng-Controller="AppController">
<td>Created <script>document.write(year)</script>
</td>
</tr>
controller.js
var controllers = {};
controllers.AppController = ['$scope', function ($scope) {
$scope.currentYear = new Date().getFullYear();
}];
proxy.controller(controllers);
app.js
var proxy = angular.module('proxy',['ngRoute'])
.config(function($routeProvider) {
$routeProvider.when('/index',{
templateUrl: 'search.jsp',
controller: 'AppController'
});
});
页脚现在仅在 index.html 页面上显示 "Created"。 angular 有没有办法可以成功计算年份?为什么在应用程序中加入AngularJs后,这个文件中的JS就停止工作了?
由于您使用的是 AngularJS,您可以这样编写代码:
<script type="text/javascript">
angular.module('app', []).controller('YearController', ['$scope', function ($scope) {
$scope.currentYear = new Date().getFullYear();
}]);
</script>
<table ng-app="app">
<tr ng-controller="YearController">
<td>
Created {{currentYear}}
</td>
</tr>
</table>
编辑:这就是它在自己单独的 HTML 和 JavaScript 文件中的样子。
index.html:
<!DOCTYPE html >
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.0-beta.2/angular.js"></script>
<script src="app.js"></script>
</head>
<body ng-app="app">
<div ng-include="'footer.html'"></div>
</body>
</html>
footer.html:
<table>
<tr ng-controller="YearController">
<td>
Created {{currentYear}}
</td>
</tr>
</table>
app.js(最好有自己的独立文件):
var app = angular.module('app', []);
var controllers = {};
controllers.YearController = ['$scope', function ($scope) {
$scope.currentYear = new Date().getFullYear();
}];
app.controller(controllers);
我一直在学习 AngularJs,目前有一个使用 Apache Tiles 的应用程序。在将 AngularJs 添加到应用程序之前,我的页脚磁贴中有一段代码可以计算当前年份,如下所示:
footer.html
<script type="text/javascript">
var year = new Date().getFullYear();
</script>
<tr ng-Controller="AppController">
<td>Created <script>document.write(year)</script>
</td>
</tr>
controller.js
var controllers = {};
controllers.AppController = ['$scope', function ($scope) {
$scope.currentYear = new Date().getFullYear();
}];
proxy.controller(controllers);
app.js
var proxy = angular.module('proxy',['ngRoute'])
.config(function($routeProvider) {
$routeProvider.when('/index',{
templateUrl: 'search.jsp',
controller: 'AppController'
});
});
页脚现在仅在 index.html 页面上显示 "Created"。 angular 有没有办法可以成功计算年份?为什么在应用程序中加入AngularJs后,这个文件中的JS就停止工作了?
由于您使用的是 AngularJS,您可以这样编写代码:
<script type="text/javascript">
angular.module('app', []).controller('YearController', ['$scope', function ($scope) {
$scope.currentYear = new Date().getFullYear();
}]);
</script>
<table ng-app="app">
<tr ng-controller="YearController">
<td>
Created {{currentYear}}
</td>
</tr>
</table>
编辑:这就是它在自己单独的 HTML 和 JavaScript 文件中的样子。
index.html:
<!DOCTYPE html >
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.0-beta.2/angular.js"></script>
<script src="app.js"></script>
</head>
<body ng-app="app">
<div ng-include="'footer.html'"></div>
</body>
</html>
footer.html:
<table>
<tr ng-controller="YearController">
<td>
Created {{currentYear}}
</td>
</tr>
</table>
app.js(最好有自己的独立文件):
var app = angular.module('app', []);
var controllers = {};
controllers.YearController = ['$scope', function ($scope) {
$scope.currentYear = new Date().getFullYear();
}];
app.controller(controllers);