因此,浪费了太多时间之后浪费了一些问题,以及Ionic如何将CSS类应用于使用结构指令的组件......生命周期或ChangeDetection方法都没有工作,因为它已经是最新的! Grrr ....
供将来参考:如果使用* ngFor或* ngIf结构指令生成 元素,则更改:
段中的按钮数量
他们的 Value ......
结果是看起来好像你不能选择更新的段按钮......
但你可以 - 除了将 segment-activated CSS类应用于所选按钮并将其从所有其他按钮中删除之外,一切正常 .
如果更新的段数据源具有相同的值和按钮数,则没问题 . 但是, segment-activated 类不会应用于任何具有更高索引或不同值的按钮 .
我终于把这个丑陋的方法一起解决了这个问题,因为我浪费了这么多时间已经......
{{option}}
public setOption(index, event) {
if (this.options[index] != null) {
this.selectedSegment = this.options[index];
//note you have to use "tap" or "click" - if you bind to "ionSelected" you don't get the "target" property
let segments = event.target.parentNode.children;
let len = segments.length;
for (let i=0; i < len; i++) {
segments[i].classList.remove('segment-activated');
}
event.target.classList.add('segment-activated');
}
这是丑陋的和傻瓜,但它完成了工作,我没有时间让它变得有趣......