ng-show / hide无法动态添加html

时间:2016-04-01 13:42:47

标签: angularjs

是否可以添加动态HTML(如下所示)并使ng-show / hide正常工作?

解决方法是找到我要交换的图和.show()/。hide()。

背景: 我正在动态地将一个页面上的图(使用Highcharts)附加到HTML id'space-for-HC'。我正在显示有和没有加权的成绩。我想使用复选框(ng-model ='Weighted')来交换这些图。

JS:

$scope.plot_it_all = function(response) {
    let schools = Object.keys(response.data);
    schools.forEach(function(school){
        angular.element(document.getElementById('space-for-HC')).append(

'<div>' +
'    <div class="ng-scope" ng-hide="Weighted" id="HC-container-grades-' + school + '" style="min-width: 600px; max-width: 800px; height: 400px; margin: 0 auto"></div>' +
'    <div class="ng-scope" ng-show="Weighted" id="HC-container-grades-weighted' + school + '" style="min-width: 600px; max-width: 800px; height: 400px; margin: 0 auto"></div>' +
'</div>'

        );
        $scope.plot_school(school, response);
    });
};

免责声明:这是我的第一个角度应用

1 个答案:

答案 0 :(得分:1)

这种dom操作应该在指令中完成。

你可以使用角度编译服务$compile