Угловая команда в ng-bind-html

Я пытаюсь использовать $interpolate а также ng-bind-html с помощью этого ответа связать данные моей переменной области видимости со строкой html. Теперь, когда значение моей переменной области обновляет ng-bind-html результат, это не обновление.

Я не хочу звонить $interpolate каждый раз, когда мой объем обновляется.

Это мой код контроллера:

$scope.TitleFlag= true;
$scope.HtmlContent = "<div>{{TitleFlag}}</div>";
$scope.trustedHtml = $interpolate($scope.HtmlContent)($scope);
$scope.TitleFlagToggle = function(){
    $scope.TitleFlag= !$scope.TitleFlag;
  };

И это мой вид кода:

<div>{{TitleFlag}}</div> <!-- This is update correctly -->
<div ng-bind-html="trustedHtml"></div> <!-- This is not update -->
<button class="button" ng-click="TitleFlagToggle()"></button>

1 ответ

Пока TitleFlag меняется, мы должны его интерполировать. Поэтому поместите $scope.trustedHtml также в функцию click.

$scope.TitleFlag= true;
$scope.HtmlContent = "<div>{{TitleFlag}}</div>";
$scope.trustedHtml = $interpolate($scope.HtmlContent)(  $scope);
$scope.TitleFlagToggle = function(){
  $scope.TitleFlag= !$scope.TitleFlag;
  $scope.trustedHtml = $interpolate($scope.HtmlContent)(  $scope);
};

http://plnkr.co/edit/rRjHOY2xSiAZ8EtzviqK?p=preview

Другие вопросы по тегам