Angular 1.4.1打破了ngBindHtml

时间:2015-06-26 06:09:58

标签: angularjs

迁移到Angular 1.4.1时,以下代码不再起作用了:

<tr ng-repeat-start="row in displayedElts">
     <td ng-repeat="col in tableSpec.columns" ng-bind-html="row.{{col.field}} | {{col.filter}}"></td>
</tr>

错误如下:

Error: [$parse:syntax] Syntax Error: Token '{' is not a valid identifier at column 5 of the expression [row.{{col.field}} | {{col.filter}}] starting at [{{col.field}} | {{col.filter}}].

非常感谢任何帮助。

更新: 我想做的是以下几点:

  • 显示一个通用表,其中行是从displayedElts中提取的 变量,列描述来自范围中的tableSpec.columns。

  • 每行都包含可通过名称访问的列 tableSpec.columns,

  • 通过查找过滤器的名称,对每列应用过滤器 tableSpec.columns [&#39; name&#39;]。filter属性。

更新2: 名称由col.filter提供的过滤器在Angular中定期声明,语法如下:

angular.module('cld-apps.filters', []).
filter('cldFloatPercent', ['$translate', '$log',
    function ($translate, $log) {
            return function (floatCentValue, forceDeci) {
                if (debug) $log.debug('Into cld-apps.filters.cldPercent');
                return formatFloatCent($translate, floatCentValue, forceDeci) + ' %';
            };
}]);

很抱歉没有尽快提供此信息。我认为这只是语法问题。

让马克

1 个答案:

答案 0 :(得分:0)

您可以在this链接上看到ng-bing-html无效。

你必须像ng-bind-html这样使用表达式:

Html代码:

<div ng-controller="ExampleController">
    <p ng-bind-html="myHTML"></p>
</div>

脚本代码:

$scope.muHTML = "<h1>Hello World</h1>"