小编Jun*_*ias的帖子

Angular 2复选框双向数据绑定

我是Angular2的新手,我有一点问题:

在我的Login-Component-HTML中,我有两个复选框,我希望以双向数据绑定方式绑定到Login-Component-TypeScript.

这是HTML:

<div class="checkbox">
<label>
    <input #saveUsername [(ngModel)]="saveUsername.selected" type="checkbox" data-toggle="toggle">Save username
</label>
</div>
Run Code Online (Sandbox Code Playgroud)

这是Component.ts:

import { Component, OnInit }    from '@angular/core';
import { Router }               from '@angular/router';
import { Variables }            from '../../services/variables';

@Component({
    selector: 'login',
    moduleId: module.id,
    templateUrl: 'login.component.html',
    styleUrls: ['login.component.css']
})


export class LoginComponent implements OnInit {

    private saveUsername: boolean = true;
    private autoLogin: boolean = true;
    constructor(private router: Router, private variables: Variables) { }

    ngOnInit() { 
        this.loginValid = false;
        // Get user name from local storage …
Run Code Online (Sandbox Code Playgroud)

html data-binding checkbox typescript angular

163
推荐指数
7
解决办法
30万
查看次数

角度错误:ExpressionChangedAfterItHasBeenCheckedError

我对 Angular 4 有点问题。下面的错误被抛出

错误:ExpressionChangedAfterItHasBeenCheckedError:检查后表达式已更改。以前的值:'225px'。当前值:'-21150px'。

这是我的 html:

<div class="channelRow" *ngFor="let epgChannel of channelGroupEpg?.epgChannels">
    <div class="epgChannelList">
      {{epgChannel.channel.name}}
    </div>
    <template ngFor let-epgDate [ngForOf]="epgChannel.dates">
        <div class="epgEntry" 
          *ngFor="let epgProgram of epgDate.programs" 
          [style.width]="getWidth(epgProgram, epgDate.date)" 
          (click)="selectProgram(epgProgram)" 
          data-toggle="modal" 
          data-target="#detailModal">
            {{epgProgram.title}}
        </div>
    </template>
</div>
Run Code Online (Sandbox Code Playgroud)

这就是错误的来源:

getWidth(program: EPGProgram, date: Date) {
  let min = this.helperService.getDurationByProgramInMinutes(program);
  let startDate = new Date(program.start.getFullYear(), program.start.getMonth(), program.start.getDate(), 0, 0, 0, 0);
  let stopDate = new Date(program.stop.getFullYear(), program.stop.getMonth(), program.stop.getDate(), 0, 0, 0, 0);
  if (startDate.getTime() !== date.getTime()) {
      let minNextDay = this.helperService.getMinutesToNextDay(program.start, date);
      min = …
Run Code Online (Sandbox Code Playgroud)

runtime-error angular

5
推荐指数
2
解决办法
8027
查看次数

Javascript:过滤具有重复日期的数组

我正在使用Angular2,并且有一个带有日期对象(〜1000)的数组。大多数日期对象具有完全相同的日期(例如2016_11_02;日期没有小时和分钟)。通常,数组中应该有大约10-20个不同的日期。

现在,我想过滤此数组并删除重复的日期。因此,最后数组中应该有大约10-20个Date-Objects。

这是我尝试的代码:

let uniqueArray = duplicatesArray.filter(function(elem, pos) {
            return channelEPGDates.indexOf(elem) == pos;
        });
        console.log('unique: ' + uniqueArray.length);
Run Code Online (Sandbox Code Playgroud)

我知道这是不正确的,因为unique-Array具有与旧数组相同的长度。但是,如何在过滤器功能中比较日期本身呢?

非常感谢!

javascript arrays angular

3
推荐指数
1
解决办法
2014
查看次数

Angular2 Observable - 函数必须返回值

我写了一个angular2服务.服务应该 - 从另一个服务加载数据 - 使用数据 - 应该返回一个包含组件数据的Observable

所以我写了这个:

getTimers(): Observable<Array<Timer>> {
        this.apiService.getTimers().
            subscribe(
            data => {
                this.variables.setTimers(data.length);
                let timers: Array<Timer> = this.formatter.formatTimers(data);
                this.setOngoingTimers(timers);
                return Observable.of(timers);
            },
            error => { return Observable.throw(error); }); 
    }
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

A function whose declared type is neither 'void' nor 'any' must return a value.
Run Code Online (Sandbox Code Playgroud)

有人能指出我正确的方向吗?

observable angular

2
推荐指数
1
解决办法
1004
查看次数