我尝试在模板中使用ng2-translate参数:
{{ test | translation:{value:param} }}
Run Code Online (Sandbox Code Playgroud)
而且效果很好.我想在我的打字稿中建立我的翻译,我看到了这个功能:
get(key: string|Array<string>, interpolateParams?: Object): Observable<string|Object>
Run Code Online (Sandbox Code Playgroud)
但我不知道如何使用它.
你们有什么例子吗?
我的情况是:
en.json:
{ "test":"the level of {value1} and {value2} is low."}
Run Code Online (Sandbox Code Playgroud)
打字稿:
let message:string = "";
let parametres = ["1", "2"];
this._translateService.get("test", parametres).subscribe((res:string) => {
message += res;
});
Run Code Online (Sandbox Code Playgroud)
我想:1和2的水平很低.
非常感谢.
我开始尝试 jasmine,我想使用 toThrowError() 函数,但我的测试不想成功。
我有一个函数会抛出错误:
测试.service.ts
test(list:{}){
if(list == null){
throw new TypeError();
}
else{
// do something...
}
}
Run Code Online (Sandbox Code Playgroud)
我的测试:
it('shall throw an error', inject()
[
TestService
],
(
testService: TestService
) => {
let test = testService.test(null);
expect(test).toThrowError(TypeError);
}
);
Run Code Online (Sandbox Code Playgroud)
我的测试因 Uncaught TypeError 失败(当我调用它时,我是在 try catch 中执行的)。
我正在关注egghead.com上关于Angular 2的John Lindquist,并且在完成与他完全相同的事情后,我没有相同的结果.
这是关于课程17.
我有一个完美的自定义过滤器:
开始,pipe.ts
import {Pipe} from '@angular/core';
@Pipe({
name: "started"
})
export class StartedPipe{
transform(value, [status]){
return value.filter((item)=> item.status === "started");
}
}
Run Code Online (Sandbox Code Playgroud)
待办事项,list.ts
import {Component, Input} from '@angular/core';
import {TodoService} from "./todo-service";
import {TodoItemRenderer} from "./todo-item-renderer";
import {StartedPipe} from './started-pipe';
@Component({
selector: 'todo-list',
pipes: [StartedPipe],
directives: [TodoItemRenderer],
template: `
<div>
<ul>
<li *ngFor="let todo of todoService.todos | started : 'started'">
<todo-item-renderer
[todo]="todo"
(toggle)="todoService.toggleTodo($event)">
</todo-item-renderer>
</li>
</ul>
</div>
`
})
export class TodoList{
@Input() status;
constructor(public todoService: …Run Code Online (Sandbox Code Playgroud)