ng-bind-html中的AngularJS数据绑定?

bbuxkriu  于 2023-05-12  发布在  Angular
关注(0)|答案(3)|浏览(163)

是否可以将范围变量的数据绑定到一个即将绑定为ng-bind-html的html?
我有一个

html ="<div>{{caption}}</div>";

and my angular角template模板look like,

<div ng-bind-html="html"></div>

在Angular 控制器中设置范围变量caption的值。
所以,我想在{{caption}}中绑定数据。
感谢您的评分

sf6xfgos

sf6xfgos1#

应该使用$interpolate而不是$compile。这样编写控制器:

angular.module('app', ['ngSanitize'])
  .controller('MyCtrl', ['$scope', '$interpolate', function($scope, $interpolate){
   $scope.caption = 'My Caption';
   $scope.html = $interpolate('<div>{{caption}}</div>')($scope);
});

然后像这样编写HTML:

<div ng-controller="MyCtrl">
    <div ng-bind-html="html"></div>
</div>
ldioqlga

ldioqlga2#

您需要编译HTML代码段,但建议在指令中进行编译。

app.controller('MyCtrl', function($compile){
  $scope.caption = 'My Caption';
  $scope.html = $compile('<div>{{caption}}</div>')($scope);
});
<div ng-bind-html="html"></div>
2ul0zpep

2ul0zpep3#

谈什么
html = '<div ng-bind="caption"></div>';

相关问题