【发布时间】:2016-01-23 00:00:40
【问题描述】:
您好,我正在尝试使用 Angular 2 创建一个具有排序功能的简单网格。下面是组件的结构。
import {Component, Pipe} from 'angular2/core';
import {NgClass} from 'angular2/common';
@Component({
selector: "sorter",
template: `
<i class="indicator glyphicon glyphicon glyphicon-sort-by-alphabet" [ngClass]="{'glyphicon-sort-by-alphabet-alt': isReverse}"></i>
<span>{{isReverse}}</span>
`,
directives: [NgClass]
})
export class Sorter {
isReverse = true;
public sortData(key) {
this.isReverse = !this.isReverse;
console.log("Directection-->" + this.isReverse);
}
}
我创建了一个 var isReverse 并在 sortData() 方法中对其进行了更改。当我单击列标题时,console.log() 会打印正确的值,但不会影响模板。我无法弄清楚这里出了什么问题。
谢谢
【问题讨论】:
-
sortData()是从哪里调用的?你是从非 Angular 代码中调用它吗? -
有什么问题? ngClass有什么问题吗?如果是这样,请在运行时检查浏览器的控制台。转到特定元素并做你的事情并检查天气类是否被应用......并确保
glyphicon-sort-by-alphabet-alt是正确的类名。 -
是的,类名是正确的。但我希望将其应用于 isReverse 值的变化。排序数据方法在外部调用。那是点击作为列的
元素。 Sorter 只是一个图标,在应用排序时需要更改。