我有一些AngularJS的内容,其中包含许多数组和数据。一旦用户上传文件,该文件将被解析并保存到作用域中,其不同的数组也会被保存。然而,在所有这些操作完成后,当我尝试更新innerHTML时,AngularJS代码无法工作。我使用
我在使用指令和模板方面遇到了极大的困难,因为我的index.html文件说当我执行
我的index.html文件的重要部分包括:
这是一个关于如何设置我的作用域的简单示例,涉及编程相关内容:
HTML代码发生了改变,但是它只打印出
编辑1: 我尝试使用$compile,但它被标记为未定义。我查看了this来解决编译问题,但我不理解rtcherry的语法,也不知道如何将其应用到我的代码中。
编辑2: 当我像这样包含它时,仍然收到$compile未定义的错误:
ng-repeat
基于数组创建表格,但它仍然是一个单元格,并且内容看起来像{{column}}
等。我在使用指令和模板方面遇到了极大的困难,因为我的index.html文件说当我执行
app.directive(...
之类的操作时,app
和module
等是未定义的。我的index.html文件的重要部分包括:
<html ng-app>
... //once a file is uploaded, total.js is called;
//this was so the app didn't try to run before a file was uploaded
<div id="someStuff">This will become a table once a file is uploaded</div>
这是一个关于如何设置我的作用域的简单示例,涉及编程相关内容:
function sheet($rootScope, $parse){
$rootScope.stuff = text;
//text is a variable that contains the file's contents as a string
};
document.getElementById('someStuff').innerHTML="<div ng-controller='sheet'>{{stuff}}</div>";
HTML代码发生了改变,但是它只打印出
{{stuff}}
而不是文件的内容。我该如何让innerHTML理解它包含AngularJS,最好不使用partial或directive,除非你能彻底解释我应该在哪里输入它以及它的语法。编辑1: 我尝试使用$compile,但它被标记为未定义。我查看了this来解决编译问题,但我不理解rtcherry的语法,也不知道如何将其应用到我的代码中。
编辑2: 当我像这样包含它时,仍然收到$compile未定义的错误:
function sheet($rootScope, $parse, $compile){...};
document.getElementById('someStuff').innerHTML=$compile("<div ng-controller='sheet'>
{{stuff}}</div>")(scope);
编辑3: 虽然itcouldevenbeaboat的评论非常没有帮助,但我决定应该向您展示我尝试使用指令方式进行操作的方法。
我将以下代码包含在我的表格函数中:
var app = angular.module('App', []);
app.directive('spreadsheeet', function($compile){
return{
templateUrl: innerHTML.html
}
});
当innerHTML包含<div ng-controller='sheet'>{{stuff}}</div>
,并且在index.html中我包含了<div spreadsheet></div>
时,我没有收到错误提示,但是文本不会显示,既不会显示{{stuff}}
也不会显示文件内容。即使我做一些简单的事情,例如提供template: "<h2>Hello!</h2>"
而不是使用templateUrl
,我也无法打印出Hello!
。