我正在寻找角度1组件和CMS驱动方法的最佳实践。
我打算构建多个标签模板,我希望这个项目是由组件驱动的,高度可重用的,并由CMS内容驱动。
我打算将JSON用作组件树,然后使用$ compile服务逐步编译树,如下所示:
angular.module('app.compile', [], function($compileProvider) {
$compileProvider.directive('compile', function($compile) {
return function(scope, element, attrs) {
scope.$watch(
function(scope) {
// watch the 'compile' expression for changes
return scope.$eval(attrs.compile);
},
function(value) {
// when the 'compile' expression changes
// assign it into the current DOM
element.html(value);
// compile the new DOM and link it to the current
// scope.
// NOTE: we only compile .childNodes so that
// we don't get into infinite loop compiling ourselves
$compile(element.contents())(scope);
}
);
};
});
});
http://plnkr.co/edit/MwUjE9l6U5wMkE89kwqY?p=preview
$compile
服务的方法可能会对性能有害吗?答案 0 :(得分:1)
我更喜欢使用角度组件。我使用$ compile只是为了动态使用我的组件。仅使用指令来更改DOM。如果你的控件有一个模板使用组件。
检查样本angular components with typescript
韩国社交协会!