Angularjs 使用指令(组件)创建按钮组
所以每件事都应该是一件好事 假设我定义了一些用于编辑/删除/查看域对象的按钮组件。例如:Angularjs 使用指令(组件)创建按钮组,angularjs,twitter-bootstrap,web-component,Angularjs,Twitter Bootstrap,Web Component,所以每件事都应该是一件好事 假设我定义了一些用于编辑/删除/查看域对象的按钮组件。例如: angular.module('xxx').component('editButton', { bindings: {domainObject: '<'}, template: '<button class="btn btn-default" ng-click="$ctrl.displayEditForm()">Edit</button>' controller:
angular.module('xxx').component('editButton', {
bindings: {domainObject: '<'},
template: '<button class="btn btn-default" ng-click="$ctrl.displayEditForm()">Edit</button>'
controller: /* ... */
});
angular.module('xxx')。组件('editButton'{
绑定:{domainObject:'组件并不总是一个html元素。它可以是(通常是一组html元素)
组件模板应包括周围的div btn组
template: '<div class="btn-group"><button class="btn btn-default" ng-click="$ctrl.displayEditForm()">Edit</button>'...etc.
而不是
.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle) {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
我希望避免将所有按钮都放在一个组件中,因为这违反了SRP(组件对我来说的主要好处)。从引导复制CSS代码也远不是完美的解决方案(我想复制和粘贴的内容比您建议的要多)。尽管如此,您的想法还是解决了问题,谢谢。在基于组件的应用程序中,您肯定会有包含许多元素和其他子组件的组件。(请参阅文档中的英雄列表示例)我认为您将SRP理论推向了一个极端。在这里,组件将负责控制对象的状态。当然,组件可以创建层次结构。但是my button group
组件的唯一责任应该是对其他组件进行分组,如edit button
和delete-按钮
。如果我的按钮组
组件必须考虑对象编辑和删除细节,那么它的代码会随着每个新按钮的添加而增长。这肯定是一个设计糟糕的组件。如果你谈论抽象的理想组件,它应该有自己的css。如果你谈论现实世界,你仍然需要directiangular 1.5中的ves和angular 2中的ves,您也可以将组件与html属性相匹配,而不仅仅是元素
在Angular 2中?这确实可以解决问题!你能把它作为一个答案吗?我刚刚发现。他们会在Angular 2中解决问题。至于1.5,解决方案是使用替换
,尽管它不受欢迎,或者是带有限制:“a”的指令。太简单了!
template: '<div class="btn-group"><button class="btn btn-default" ng-click="$ctrl.displayEditForm()">Edit</button>'...etc.
.your-page .btn-group .btn:first-child:not(:last-child):not(.dropdown-toggle) {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle) {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}