AngularJS使ng将html绑定到动态构建的对象名称

AngularJS making ng-bind-html to a dynamically constructed object name

本文关键字:构建 对象 动态 ng html 绑定 AngularJS      更新时间:2023-09-26

我需要在HTML代码中设置一个到动态创建的名称的绑定,类似于:

<div ng-bind-html="MyVariable_{{counter}}">

在控制器中,我使用以下代码:

        var the_string = 'MyVariable_' + p ;
        var MyHTML     = '<font size="' + p + '">This is text with size depending on the index</font>' ;
        var dummy = $parse(the_string);
        dummy.assign($scope, $sce.trustAsHtml(MyHTML));

澄清说明:HTML中的{{counter}}是传递给javascript代码的参数"p"。

问题似乎在HTML中。。。AngularJS不喜欢我在HTML中使用的语法(即="MyVariable_{{counter}}")。有什么办法可以做到这一点吗?

谢谢。

使用函数代替

ng-bind-html="getHtml(counter)"

你的javascript看起来像这个

function getHtml(counter) {
   return $scope['MyVariable_' + counter];
}