AngularJS md-tab&ng-repeat:将自定义样式添加到特定标签

我试图自定义几个标签,因为它们不同。 这是我有:AngularJS md-tab&ng-repeat:将自定义样式添加到特定标签

<md-tabs> 

<md-tab ng-repeat="tab in tabs" ng-class="tab.customClass">

<md-tab-label ng-bind="tab.label"></md-tab-label>

</md-tab>

</md-tabs>

我的问题:自定义类不在编译MD-标签项

注:的被替换,因为它仅需要产生选项卡按钮和窗格。

我不知道我有多少个标签,所以我不能根据位置写入CSS。

任何想法?

回答:

如果您试图自定义选项卡本身的顶部,您可以通过使用装饰器来完成此操作。这将允许您更改指令在运行时的行为方式。

例如,如果你想在样式表本身,该指令将是“MD-标签项”

(function() { 

'use strict';

MdTabItemDecorator.$inject = ['$provide'];

angular.module('common').config(MdTabItemDecorator);

function MdTabItemDecorator($provide) {

$provide.decorator('mdTabItemDirective', [

'$delegate',

'$controller',

function ($delegate) {

var directive = $delegate[0];

directive.compile = function() {

return function (scope, elem, attrs) {

directive.link.apply(this, arguments);

elem.attr('style', 'color:red');

scope.tabIndex = scope.$parent.$index;

};

};

return $delegate;

}

])

}

})();

以上例子将标签文本的颜色变为红色。

这里发生的事情是,我们正在创造一个装饰mdTabItem与

function MdTabItemDecorator($provide) { 

$provide.decorator('mdTabItemDirective', [

function ($delegate) {

...

}

])

这使您可以访问到$委托对象是指令对象,它是要被实例化的表示。

这允许我们做一些修改并返回委托对象,改变指令的行为方式。

在这种情况下,我采用现有的链接函数并扩展它的功能来设置指令元素的样式。

 directive.compile = function() { 

return function (scope, elem, attrs) {

directive.link.apply(this, arguments);

elem.attr('style', 'color:red');

scope.tabIndex = scope.$parent.$index;

};

};

以上是 AngularJS md-tab&ng-repeat:将自定义样式添加到特定标签 的全部内容, 来源链接: utcz.com/qa/261887.html

回到顶部