我正在使用一个名为 Gentelella 的模板,我正在尝试在其中实现 AngularJS。但是,我遇到了某个 Javascript 文件的问题。在这个文件的末尾,$(document).ready
调用了一个函数来初始化 Javascript 代码,从而对 HTML 代码进行一些更改。问题是$(document).ready
函数在 HTML 完全加载之前被调用得太早。
出现此问题可能是因为我正在使用 ngRoute,这会将模板 html 文件注入到 index.html 的 ng-view 中。当这种情况发生时,DOM 可能在 AngularJS 注入模板(=HTML)之前就已经宣布了一个文档准备就绪。
所以基本上,一旦 AngularJS 注入了模板,我只需要找到一种方法来调用 Javascript 文件中的一些代码。
我附上了一些代码来深入了解这个问题:
custom.min.js 的片段
$(document).ready(function () {
init_sparklines(), init_flot_chart(), init_sidebar(), init_wysiwyg(), init_InputMask(), ...
});
main.js 的片段:
.config(function($routeProvider, $httpProvider) {
$routeProvider.when('/', {
templateUrl : 'dash.html',
controller : 'dash',
controllerAs: 'controller'
}).when('/login', {
templateUrl : 'login.html',
controller : 'navigation',
controllerAs: 'controller'
}).when('/plain_page', {
templateUrl : 'plain_page.html',
controller : 'dash',
controllerAs: 'controller'
}).otherwise('/');
$httpProvider.defaults.headers.common["X-Requested-With"] = 'XMLHttpRequest';
})
提前致谢!