小编I_L*_*FOO的帖子

何时在TypeScript/Angular2中使用Interface和Model

我最近使用TypeScript观看了Angular 2的教程,但不确定何时使用接口以及何时使用模型来保存数据结构.

界面示例:

export interface IProduct {
    ProductNumber: number;
    ProductName: string;
    ProductDescription: string;
}
Run Code Online (Sandbox Code Playgroud)

型号示例:

export class Product {
    constructor(
        public ProductNumber: number,
        public ProductName: string,
        public ProductDescription: string
    ){}
}
Run Code Online (Sandbox Code Playgroud)

我想从URL加载JSON数据并绑定到接口/模型.有时我想要一个数据对象,其他时候我想要持有对象的数组.

我应该使用哪一个?为什么?

typescript angular

177
推荐指数
4
解决办法
10万
查看次数

使用Jasmine测试Angular2/TypeScript管道

我有一个带有TypeScript应用程序设置的Angular2,它具有非常基本的Jasmine测试.我想测试一下我的管道.

lpad.pipe.ts

import {Pipe, PipeTransform} from '@angular/core';
@Pipe({
    name: 'lpad'
})
export class LPadPipe implements PipeTransform {
    transform(value: any, args: string[]): any {
       let pad = args[0];
       return (pad + value).slice(-pad.length);
    }
}
Run Code Online (Sandbox Code Playgroud)

在html模板中的用法:

{{size.SizeCode | lpad:['0000']}}
Run Code Online (Sandbox Code Playgroud)

lpad.pipe.spec.ts - 我的测试(不起作用)

import { LPadPipe } from './lpad.pipe';

describe('LPadPipe'), () => {
    let pipe: LPadPipe;

    beforeEach(() => {
        pipe = new LPadPipe();
    });

    it('transforms "1" to "0001"', () => {
        let value: any = "1";
        let args: string[] = ['0000'];

        expect(pipe.transform(value, args)).ToEqual('0001') …
Run Code Online (Sandbox Code Playgroud)

javascript jasmine typescript angular

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

标签 统计

angular ×2

typescript ×2

jasmine ×1

javascript ×1