javascript – 将AngularJS与innerHTML一起使用

前端之家收集整理的这篇文章主要介绍了javascript – 将AngularJS与innerHTML一起使用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一些AngularJS东西,它包含一堆数组和数据.用户上传文件后,文件将被解析并保存到具有不同数组的范围中.但是,在完成所有这些并且文件保留在作用域中之后,我尝试更新innerHTML,但AngularJS代码不起作用.我使用ng-repeat创建一个基于数组的表,但它仍然是一个单元格,内容看起来像{{column}}之类.

我使用指令和模板时遇到了极大的困难,因为当我执行app.directive(…等)时,我的index.html说app和模块等是未定义的.

我的index.html文件的重要部分包括

这是我在total.js中设置范围的一个简单示例:

function sheet($rootScope,$parse){
    $rootScope.stuff = text; 
//text is a variable that contains the file's contents as a string
};

document.getElementById('someStuff').innerHTML="

HTML更改但不打印文件内容,而只打印{{stuff}}.
我如何让innerHTML理解它包含AngularJS,最好不使用partial或指令,除非你能彻底解释我输入它的位置及其语法.

编辑1:
我尝试过使用$compile但它被标记为未定义.我查看了this以找出编译问题,但我不理解rtcherry的语法,以及我应该如何将它应用于我自己的代码.

编辑2:
当我像这样包含它时,我仍然收到$compile undefined错误

function sheet($rootScope,$parse,$compile){...};
document.getElementById('someStuff').innerHTML=$compile("

编辑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}}也不是文件内容.即使我做了一些简单的事情,例如提供模板:“< h2> Hello!< / h2>”而不是templateUrl,我不能得到你好!打印.

最佳答案
这个对我有用

document.getElementById('someStuff').innerHTML = "

猜你在找的JavaScript相关文章