2016-02-29 111 views
3

我试图创建动态生成离子2段按钮,但每次当我使用一些Angular指令,它失败。我看到段按钮,但点击不会改变任何东西,包括ngModel变量。见例如:离子2段不与角度指令

工作静态例如:

<ion-segment [(ngModel)]="subsActiveDay"> 
    <ion-segment-button value="2016-03-01T00:00:00.000Z"> 
     1 
    </ion-segment-button> 
    <ion-segment-button value="2016-03-02T00:00:00.000Z"> 
    2 
    </ion-segment-button> 
</ion-segment> 
{{subsActiveDay}} 

不工作:

<ion-segment [(ngModel)]="subsActiveDay"> 
    <ion-segment-button *ngFor="#day of subs" [value]="day.date"> 
     {{day.datestamp | date}} 
    </ion-segment-button> 
</ion-segment> 
{{subsActiveDay}} 

在第二个例子中按钮被生成的,但不存在默认选择按钮和subsActiveDay可变后不改变单击。我试图找出ngFor,并使用组件中定义的两个测试变量作为值,但结果也失败了。

任何想法可能会出现问题?

+0

我有完全相同的问题,您是否找到解决方案了? – Eric

+0

不幸的是,没有:-( –

回答

2

我刚刚在查看段源代码后找到了解决方法。所以,你可以只使用value,而不是[value]这样的:

<ion-segment [(ngModel)]="subsActiveDay"> 
    <ion-segment-button *ngFor="#day of subs" value="{{day.date}}"> 
     {{day.datestamp | date}} 
    </ion-segment-button> 
</ion-segment> 
{{subsActiveDay}} 

还有就是检查value属性是否发出行时ngOnInit或根本不喜欢这个

SegmentButton.prototype.ngOnInit = function() { 
    if (!util_1.isPresent(this.value)) { 
在segment.js线98

希望这可以帮助你。