【发布时间】:2016-08-27 04:29:28
【问题描述】:
这是我做的第一个网站:http://moneyforkids.ca/old
我遇到了一个我似乎无法弄清楚的问题。
如果您访问证书页面,您应该能够在证书上输入您的姓名。但是,如果您单击其他选项卡然后返回证书选项卡,则无法在证书上键入您的姓名。相反,您只会在其中看到 {{ name }},这告诉我 Angular 脚本没有运行。
这是我执行 Angular 脚本的代码:http://moneyforkids.ca/old/js/index.js
编辑: 我通过将 index.js 文件更改为:
$( function() {
$('nav a').on('click', function(e) { // User clicks nav link
e.preventDefault(); // Stop loading new link
var url = this.href; // Get value of href
$('nav a.current').removeClass('current'); // Clear current indicator
$(this).addClass('current'); // New current indicator
$('#content').remove();
$('#container').load(url + " #content").hide().fadeIn('slow'); // Load content with AJAX
if (url.slice(-13) == "practice.html") {
$.getScript("js/practice.js");
$.getScript("js/ui-spinner-behaviour.js");
} else if (url.slice(-16) == "certificate.html") {
$.getScript("js/certificate.js");
$.getScript("js/ui-spinner-behaviour.js");
$('#angular').remove(); //Remove any previous angular script tag
$('<script id="angular" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js"></script>').insertAfter('section'); // Reload the script
} else {
$.getScript("js/repeatPictures.js");
}
});
})
上面更新的 .js 文件修复了网站。您可以通过删除网址末尾的 /old 来查看没有问题的新版本网站(我不能发布超过 2 个链接)。
但是,我不明白为什么这可以解决问题!
【问题讨论】:
-
控制台显示您正在尝试多次加载角度。检查您是否多次加载角度。否则,请向我们展示您加载 Angular 库和依赖注入部分的代码。
-
index.js (moneyforkids.ca/js/index.js) 文件是注入 Angular 的。而且我猜当第二次单击证书选项卡时,角度会感到困惑,因为它已经加载到页面上。但是页面内容是通过AJAX改变的。
标签: javascript jquery html css angularjs