有, 我想在角度2中使用 ng-class =" {active:isOpen()}" , 但我不知道如何将此代码从angular1转换为angular2, 任何人帮助我? 非常感谢你。 我的代码来自http://www.theme-guys.com/materialism/angular/#/apps/todo
app.directive('menuToggle', ['$location', function($location) {
return {
restrict: 'A',
transclude: true,
replace: true,
scope: {
name: '@',
icon: '@'
},
templateUrl: 'assets/tpl/directives/menu-toggle.html',
link: function(scope, element, attrs) {
icon = attrs.icon;
if ( icon ) {
element.children().first().prepend('<i class="' + icon + '"></i> ');
}
element.children().first().on('click', function(e) {
e.preventDefault();
link = angular.element(e.currentTarget);
if( link.hasClass('active') ) {
link.removeClass('active');
} else {
link.addClass('active');
}
});
element.find('a').ripples();
scope.isOpen = function() {
folder = '/' + $location.path().split('/')[1];
return folder == attrs.path;
};
}
};
}]);
&#13;
<li menu-link="" href="#/" class="ng-isolate-scope">
<a ng-transclude="" ng-class="{active: isOpen()}" href="#/ui-elements/cards" class=""><span class="ng-scope">Cards</span><div class="ripple-wrapper"></div></a>
</li>
&#13;
答案 0 :(得分:2)
“如何将此代码从angular1转换为angular2?”
3个简单的步骤:
1-您进入此页面:
https://angular.io/docs/ts/latest/guide/upgrade.html
2-你试着自己动手。
3-如果您有任何具体问题(问题,而不是免费工作要求),请转到http://stackoverflow.com并在那里问问。
我希望这会有所帮助。
答案 1 :(得分:0)
如果您想将ng-class="{active: isOpen()}"
转换为角度2,则语法为
[ngClass]="{active: isOpen()}"
active是css类,而isOpen()应该是打字稿组件中的函数。