我正在使用angular 5进行项目,我正在尝试渲染来自数据库的组件。我有很多组件,用户可以创建一个页面并按照他们想要的方式包含它们。
这是Angular 1.6中项目的迁移意图。所以,这就是我在角度1.6中所拥有的。
<div html-angular-bind="{{$ctrl.content}}"> </div>
这是这个例子的html-angular-bind定义:
angular.module('App').directive('htmlAngularBind', [
'$compile', function($compile) {
return function(scope, elem, attrs) {
scope.$watch("$ctrl.content", function(newValue, oldValue) {
var compiled, el, html;
html = attrs.htmlAngularBind;
el = angular.element(html);
compiled = $compile(el);
elem.html(el);
return compiled(scope);
});
};
}
]);
所以,我们假设我在用户创建的页面中有组件<component1></component1>
,<component2></component2>
... <component1000></component1000>
。所有这些都被这些组件中定义的HTML取代。
问题是:在Angular 5中有没有办法做同样的事情?