小编Fai*_*jaz的帖子

Typescript/JS中类似struct的接口?

因为我不能在互联网上找到一个明确的答案,所以听到我的问题:

我有一个像这样的"结构":

struct tTest{
  char foo [1+1];
  char bar [64];
};
Run Code Online (Sandbox Code Playgroud)

有没有办法在TS/JS中构建它?

我认为使用接口是正确的方法:

export interface tTest{
  foo: string;
  bar: string;
}
Run Code Online (Sandbox Code Playgroud)

但是没有办法将[64]和[1 + 1]添加到属性中,是吗?如果有,那将是很棒的,因为我需要每个tTest像对象长度相同,并且更难以检查长度并添加东西,直到它具有正确的长度.我觉得这真的很脏.

任何想法/帮助?谢谢!

javascript typescript

8
推荐指数
1
解决办法
1万
查看次数

Angular2/PrimeNG - 无法显示下拉列表

我正在为我的应用程序使用PrimeNG和Angular2.

我有一个组件应该显示可选主题的下拉菜单.我已经按照PrimeNG Dropdown文档进行操作,据我所知,我的所有内容都以同样的方式构建.但我总是得到错误"没有价值访问者''"

theme.component.ts:

import { Component, OnInit, Input } from '@angular/core'
import { Dropdown, SelectItem} from 'primeng/primeng';

@Component({
   selector: 'my-themes',
   templateUrl: 'dist/html/theme.component.html',
   directives: [Dropdown],
})


export class ThemeComponent {
   selectables: SelectItem[];
   style: string;

   constructor() {
      this.selectables = [];
      this.selectables.push({ label: 'Nightflat', value: 'Nightflat' });
      this.selectables.push({ label: 'Flat', value: 'Flat' });
   }
   ngOnInit() {

   }

}
Run Code Online (Sandbox Code Playgroud)

theme.component.html:

<p-dropdown [options]="selectables" [(ngModel)]="style"></p-dropdown>
Run Code Online (Sandbox Code Playgroud)

任何可能出现问题的想法?:(编辑:问题实际上是ngModel.如果我从html标签中删除它,将显示Dropdown.

typescript primeng angular

7
推荐指数
1
解决办法
6046
查看次数

JS - 在对象数组上使用 .every 方法

我需要知道是否可以在多维数组上使用 array.every 方法。

我的数组如下所示:

tabs=[
{label: string, icon: icon, routerLink: link},
{label: string, icon: icon, routerLink: link},
{label: string, icon: icon, routerLink: link}]
Run Code Online (Sandbox Code Playgroud)

我需要知道选项卡内的每个标签是否不等于特定标签。如果您能提供详细的答案,我将非常感激,因为我是一名新手程序员,想了解我在做什么!但无论如何请随意回答。:) 到目前为止谢谢!

编辑:我正在使用此方法将选项卡添加到我的选项卡菜单(ng2,primeng):

tabs=[
{label: string, icon: icon, routerLink: link},
{label: string, icon: icon, routerLink: link},
{label: string, icon: icon, routerLink: link}]
Run Code Online (Sandbox Code Playgroud)

TABS 是 primeng 提供的 MenuItem[] 类型,而 tab 是任何类型。

每次我双击图表时,都会调用该图表,并将一个新选项卡推入我的菜单中。现在我想检查带有特定标签的选项卡是否已经打开,以便它不会再次打开。我尝试将 for 循环与 if 结合使用

addTab(id: string) {
  if (id === 'linechart') {
    this.tab = {
      label: 'NW-Details',
      icon: 'fa-area-chart',
      routerLink: ['/nwdetails']
    }
    TABS.push(this.tab);
  }
  if (id …
Run Code Online (Sandbox Code Playgroud)

javascript arrays typescript

5
推荐指数
1
解决办法
1万
查看次数

Angular2-可迭代差异未检测到更改

我正在使用Angular2的可迭代Differs来检测我的数据更改。然后,我想重新加载我的视图。但是different.diff总是返回“ null”,我也不知道为什么。

constructor(differs: IterableDiffers) {
    this.differ = differs.find([]).create(null);
}

@Input() data: any;

ngDoCheck() {
    var changes = this.differ.diff(this.data.datasets);
    if (changes && this.initialized) {
       //doreload
    }
Run Code Online (Sandbox Code Playgroud)

编辑:

this.pingService.pingStream.subscribe(ping => {
                  this.ping = ping;
                  console.log(this.ping);
                  NTWDATA.datasets[0].data.shift();
                  NTWDATA.datasets[0].data.push(this.ping);
Run Code Online (Sandbox Code Playgroud)

PingService每5秒返回一个数字(对服务器进行ping操作)。移位/推送thingy工作正常,数据在那里。只是没有被发现。NTWDATA:

{
    labels: ["","","","","","",""],
    datasets: [
        {
            label: 'Server Response Time in ms',
            data: [65, 59, 80, 81, 56, 55, 40],
            fill: false,
            borderColor: '#FF0303'
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

typescript angular

4
推荐指数
1
解决办法
4632
查看次数

Rxjs-重新订阅未订阅的Observable

我正在使用服务每2.5秒“ ping”我的服务器,并从我的服务器返回响应时间。因此,我正在使用观测值。

我也使用angular 2和打字稿。

现在,我想在单击按钮时停止该服务(退订)。这样很好!该按钮应该是一个切换按钮,因此,如果未订阅,请进行订阅以及其他方式。但是重新订阅是行不通的!

这是我的服务:

export class PingService {
  pingStream: Subject<number> = new Subject<number>();
  ping: number = 0;
  url: string = url.href;

  constructor(private _http: Http) {
    Observable.interval(2500)
      .subscribe((data) => {
        let timeStart: number = performance.now();

        this._http.get(this.url)
          .subscribe((data) => {
            let timeEnd: number = performance.now();

            let ping: number = timeEnd - timeStart;
            this.ping = ping;
            this.pingStream.next(ping);
          });
      });
  }
}
Run Code Online (Sandbox Code Playgroud)

这是我点击的功能:

toggleSubscription() {   
      if (this.pingService.pingStream.isUnsubscribed) {
         this.pingService.pingStream.subscribe(ping => {
         this.ping = ping;
         NTWDATA.datasets[0].data.pop();
         NTWDATA.datasets[0].data.splice(0, 0, this.ping);
      })
      }
      else { …
Run Code Online (Sandbox Code Playgroud)

rxjs typescript angular

4
推荐指数
1
解决办法
3385
查看次数

Angular 4 - 自定义双向绑定

我正在尝试在我的两个组件之间实现自定义的双向绑定。

我确实读过命名约定,说你必须定义一个@Input()类似的“ test”,然后定义一个@Output()命名的“ testChange”。

我找不到任何关于这是否仍然是最新的信息,我无法让我的绑定工作。

parentComponent 中的一些代码:

<my-comp [(userGroupIds)]="userGroups"></my-comp>

我的组件(子):

export class MyComponent implements OnInit, OnDestroy{
  @Input() userGroupIds: number[];
  @Output() userGroupIdsChange = new EventEmitter<number[]>();

  updateValues(){
    //here I am iterating through the rows of a table within my component
    this.userGroupIds = this.tableRows.map(item => {return item['id']});
    this.userGroupdIdsChange.emit(this.userGroupIds);
  }
}
Run Code Online (Sandbox Code Playgroud)

父组件:

export class parentComponent implements OnInit, OnChanges, OnDestry{
  userGroups: number[];
  constructor(){
    this.userGroups = [];
  }

  ngOnChanges(changes: SimpleChanges){
    if(changes['userGroups']){
      // this is never show, ngOnChanges doesn't get fired; …
Run Code Online (Sandbox Code Playgroud)

html typescript angular

4
推荐指数
1
解决办法
2935
查看次数

Angular2 - 单击事件:获取单击元素的ID

我对图表(primeng)有一个概述,现在我需要知道是否有可能在点击时从图表中获取ID.

仅供参考我有一个上下文菜单,其中包含"在新标签页中打开",我需要从图表中打开上下文菜单中的ID.

右键单击 - >图表中的getID - >使用ID打开新选项卡,仅显示该图表.

我见过像event.target.attributes.id /event.currenttarget这样的东西,但那是js,对吧?我正在使用Typescript.

所以问题实际上很简单:我怎么能这样做?

我是一个与编程相关的新手,我几周前开始了,所以请耐心等待,因为我可能无法像其他人那样快速地理解一切.

编辑:

上下文菜单的MenuItems:

this.ctitems = [
    {
        label: 'Öffnen(neuer Tab)',
        icon: 'fa-plus',
        command: (onClick) => {this.function()}                
    },
    {
        label: 'Öffnen(dieser Tab)',
        icon: 'fa-hand-o-down'

    }
]; 
Run Code Online (Sandbox Code Playgroud)

获取id的函数

function() { event.target.getID <- problem }
Run Code Online (Sandbox Code Playgroud)

只要我有ID,我就想将ID指定的项目推送到TabMenu中显示的项目数组中.但那就是未来.现在我只需要获取ID.

HTML:

<p-chart height="100" width="100" class="ui-g-2 " type="line" id="linechart" [data]="ntwdata"></p-chart>
<p-contextMenu id="cm" [model]="ctitems"></p-contextMenu>
Run Code Online (Sandbox Code Playgroud)

click primeng angular

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

Angular2/Typescript - 获取服务器延迟

我无法帮助自己搜索互联网的答案,所以我马上就会问.

我正在使用angular2和typescript运行前端,从服务器接收数据.

有没有办法设置连接以特定间隔发送ping以获得服务器响应时间?然后,我想使用PrimeNG在图表中显示它们.

typescript server angular

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

标签 统计

typescript ×7

angular ×6

javascript ×2

primeng ×2

arrays ×1

click ×1

html ×1

rxjs ×1

server ×1