Угловые данные JS связаны в ng-bind-html?
Возможно ли связать данные переменной области с html, который должен связываться как ng-bind-html?
т.е. имеет значение
html ="<div>{{caption}}</div>";
и мой шаблон angular выглядит,
<div ng-bind-html="html"></div>
значение переменной scope caption
установлено в контроллере angular.
Итак, я хочу привязать данные в {{caption}}
.
Спасибо заранее.
Ответы
Ответ 1
Вы должны использовать $interpolate, а не компилировать $.
Запишите контроллер следующим образом:
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>
Ответ 2
Вам нужно скомпилировать фрагмент HTML, но рекомендуется делать это внутри директивы.
app.controller('MyCtrl', function($compile){
$scope.caption = 'My Caption';
$scope.html = $compile('<div>{{caption}}</div>')($scope);
});
<div ng-bind-html="html"></div>
Ответ 3
Как насчет?
html = '<div ng-bind="caption"></div>';