Javascript Ace编辑器无法处理其他页面-AngularJS应用程序
我试图使用ACE编辑器在页面上显示代码(JSON响应)。当我在登录页上尝试ace示例时,Javascript Ace编辑器无法处理其他页面-AngularJS应用程序,javascript,html,angularjs,ace-editor,Javascript,Html,Angularjs,Ace Editor,我试图使用ACE编辑器在页面上显示代码(JSON响应)。当我在登录页上尝试ace示例时,index.html,它可以工作。但是当我在page2.html上使用相同的代码时,它就不起作用了 HTML <div id="editor"> function foo(items) { var i; for (i = 0; i < items.length; i++) { alert("Ace Rocks " + items[i]); }; <
index.html
,它可以工作。但是当我在page2.html
上使用相同的代码时,它就不起作用了
HTML
<div id="editor">
function foo(items) {
var i;
for (i = 0; i < items.length; i++) {
alert("Ace Rocks " + items[i]);
};
</div>
我甚至试着把上面的js代码放在一个外部文件
上,希望它可以在任何页面上使用
由于它是AngularJS应用程序,
page2.html
和其他页面都是通过@Michael建议的ngView
加载的,Ace在加载页面内容之前正在评估var editor=Ace.edit(“editor”)
。
我没有在html或外部脚本中使用脚本,而是将脚本代码放在page2.html
控制器中
function page2Ctrl ($scope, $http) {
var editor = ace.edit("editor");
editor.setTheme("ace/theme/twilight");
editor.getSession().setMode("ace/mode/javascript");
}
当应用程序打开
page2.html
时,页面的ctrl键将启动。如果脚本中有函数,则将
var editor=ace.edit(“编辑器”)代码>
在同一个函数中
您还可以执行以下操作:
function doOnLoad()
{
var editor = ace.edit("editor");
editor.setTheme("ace/theme/twilight");
editor.getSession().setMode("ace/mode/javascript");
}
我猜你的var编辑器=ace.edit(“编辑器”);在加载内容og page2.html之前进行求值…啊,是的,将其放在page2.html
的Ctrl键而不是html键上工作。谢谢
editor.setTheme("ace/theme/twilight");
editor.getSession().setMode("ace/mode/javascript");
function doOnLoad()
{
var editor = ace.edit("editor");
editor.setTheme("ace/theme/twilight");
editor.getSession().setMode("ace/mode/javascript");
}