好吧,我对角度很新,我已经从不同的来源读到它了解它已经足够了, 显然我仍然在努力让它以某种方式发挥作用,
我已经有了简单的htmlpage:
<html>
<body ng-app>
<div id="content"></div>
</body>
</html>
然后,在我向服务器请求数据之后,我创建了这样的东西:
function updateView($scope){
$scope.test="Success";
}
window.onload=function(){
var content = document.getElementById("content");
var add = document.createElement("div");
add.innerHTML = "{{test}}";
content.appendChild(add);
content.setAttribute("ng-controller", "updateView");
};
我得到的结果是带有文字的html页面:{{test}}
所以我认为它不起作用,
我知道这可能与动态创建内容和ng-controller有关,这可以像许多教程那样以更基本的方式完成,但我需要我指定的方法(添加属性和内容) (测试)在飞行中)因为我将显示我从服务器请求的东西,它可以有不同数量的数据,比如它是否有数组形式的3个数据,“var add = document.createElement(”div“)”将被调用3次,我需要将属性ng-controller附加到每个
有没有我还不知道的工作?
答案 0 :(得分:1)
为了完成你在Angular中尝试做的事情,你需要使用$ compile服务,你可以阅读更多关于here的信息。这允许您将html附加到dom并将其链接到范围变量。
对于您的具体示例,您可以在window.onload方法中获取$ compile服务,如下所示:
window.onload=function(){
angular.element("body").injector().invoke(function ($compile) {
var content = document.getElementById("content");
var add = document.createElement("div");
add.innerHTML = "{{test}}";
content.appendChild(add);
content.setAttribute("ng-controller", "updateView");
$compile(template.contents())(scope);
});
};