javascript - 使用javascript添加div,使用angularjs来显示数据

标签 javascript angularjs

我想向我当前的网站添加一个 div。

我想要添加的 div 应该使用 angularjs 显示一些 json 数据。

我的问题是,在页面渲染后添加 html 时,AngularJS 看起来并不像想象的那样工作。

这是我的测试:

<html >
  <head>
    <meta charset="utf-8">
    <title>Angular test</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.min.js"></script>
  </head>

  <script>


    var featureInfoMainDivId = 'FeatureInfoMaster';

    function initAngularDataFeatureInfo() {
        var s = document.createElement('script');
        s.type = "text/javascript";
        s.textContent =
            'var app = angular.module("featureInfoApp", []); ' +
            'app.controller("featureInfoCtrl", function ($scope) { ' +
                '$scope.firstName = "John" '+
                '$scope.lastName = "Doe" ' +
            '});';
        document.getElementById(featureInfoMainDivId).appendChild(s);
    }

    function addFeatureInfoDiv() {        
        var divMain = document.createElement('div');        
        divMain.setAttribute('id', featureInfoMainDivId);
        divMain.setAttribute('ng-app', "featureInfoApp");
        divMain.setAttribute('ng-controller', "featureInfoCtrl");
        divMain.innerHTML ='<div> {{ firstName + " " + lastName }}</div>';

        document.getElementById('appdiv').appendChild(divMain);

        initAngularDataFeatureInfo();
    }


  </script>


  <body >

    <div id="appdiv"></div>

    <button id="btn_load_grid" onclick="addFeatureInfoDiv();">loaddata</button>


  </body>
</html>

最佳答案

您缺少两个分号

$scope.firstName = "John";
$scope.lastName = "Doe";

如果您加载 Angular 脚本,它会查找 ng-app 并引导自身。由于您在加载脚本后添加了 Angular 特定代码,因此您需要使用以下命令手动引导 Angular:

//after initAngularDataFeatureInfo();
angular.element(document).ready(function() {
  angular.bootstrap(document, ['featureInfoApp']);
});

请删除此行:

divMain.setAttribute('ng-app', "featureInfoApp");

如果您手动引导 Angular,则不需要。有关更多引导信息,请参阅:Angular bootstrapping documentation .

另外:您使用 Angular 1.2.26 版本有什么原因吗?版本 1.5.3 是最新的稳定版本。

关于javascript - 使用javascript添加div,使用angularjs来显示数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36573269/

相关文章:

Javascript Canvas 网格(错误输出帮助!!)

javascript - 如何从window.location对象中仅提取域名?

javascript - Angular js从输入文本框中删除前导和尾随空格

angularjs - 修改 Accordion 使其表现得像 table 一样

javascript - 如何使用 webpack + ES6 导入自定义模块?

javascript - Google map 显示多张 map 而不是一张

javascript - 如果找不到记录,jQuery 隐藏记录标题

javascript - AngularJS 无法加载模板

javascript - 多个值的颜色转换器

javascript - 在 heroku 部署应用程序时,我应该在 baseURL 中写入什么?