在Angular 1中,您可以使用restrict
来确定如何使用您的指令。例如:
angular.module('foo').directive('fooDirective', [function () {
return {
restrict: 'AE',
/* ... */
}
}]);
然后您可以在模板中将其用作属性或元素:
<foo />
或
<div foo />
我已经在Angular2中的this one等网站上阅读select
正确的方法来定义您的组件现在的使用方式:
@Component({
selector: 'Sample'
});
然后在你的模板中:
<Sample />
同样,添加括号可以将其用作属性:
@Component({
selector: '[Sample]'
});
模板:
<div Sample />
但是如果我想让它既可以作为属性又可以作为元素使用,在Angular 1中相当于restrict: 'AE'
怎么办?
答案 0 :(得分:3)
您可以使用
@Component({
selector: 'sample,[Sample]'
});
@Directive({ selector: 'form:not([ngNoForm]):not([ngFormModel]),ngForm,[ngForm]',
答案 1 :(得分:0)
restrict: 'AE'
在AngularJS 2
中仍然有效。你所指的是Angular 2 for TypeScript
。我的问题中没有看到TypeScript
标记。 Go to the link you have provided并注意在下拉列表中选择了Angular 2 for TypeScript
。