小编KB_*_*KB_的帖子

Angular 2 在 http 调用的情况下订阅/取消订阅 Observables

我最近了解到,我们必须在 Angular 销毁组件之前取消订阅,否则可能会导致内存泄漏。

我还知道我们可以获得订阅的引用,并通过调用该订阅的取消订阅方法来订阅。例如

private sub: any;

ngOnInit() {
  this.sub = this.route.params.subscribe(params => {
     let id = +params['id']; // (+) converts string 'id' to a number
     this.service.getHero(id).then(hero => this.hero = hero);
   });
}


ngOnDestroy() {
  this.sub.unsubscribe();
}
Run Code Online (Sandbox Code Playgroud)

在 HTTP 调用的情况下也有必要吗?如果是,那么这种情况下的最佳实践是什么。

例如,我们通常有这样的东西通过 HTTP 发布一些数据

let body = JSON.stringify({ name });
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });

this.http.post(this.heroesUrl, body, options)
                .map(this.extractData)
                .subscribe((data) => {
                 //do something with data
                })
                .catch(this.handleError);
Run Code Online (Sandbox Code Playgroud)

下面的方法可行吗?这是在 HTTP …

angular2-services angular

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

PrimeNG PanelMenu routerLink 问题

我正在使用 PrimeNG (1.0.0-beta.5) PanelMenu 和 Angular RC 2.0.0-rc.1 版本

以下是 PrimeNG 面板菜单的示例代码。当我单击ProjectWelcome链接时,它会刷新我的整个页面,然后加载相应的组件。

<p-panelMenu id="panelMenu">
    <div>
        <div><a data-icon="fa-file-o"><span>Report</span></a></div>
        <div>
            <ul>
                <li><a data-icon="fa-plus"><span>New</span></a>
                    <ul>
                        <li><a [routerLink]="['Project']" (click)="mobileMenuActive = false">Project</a></li>
                        <li><a [routerLink]="['Welcome']" (click)="mobileMenuActive = false">Welcome</a></li>
                    </ul>
                </li>
                <li><a [routerLink]="['Project']">Project</a></li>
                <li><a><span>Quit</span></a></li>
            </ul>
        </div>
    </div>
</p-panelMenu>
Run Code Online (Sandbox Code Playgroud)

每当我使用如下所示的 nav 元素时,它都会正确调用相应的组件,而无需刷新页面。

<nav>
            <div class='container-fluid'>
                <ul class='nav navbar-nav'>
                    <li><a [routerLink]="['Welcome']">Home</a></li>
                    <li><a [routerLink]="['Project']">Product List</a></li>
                </ul>
            </div>
</nav>
Run Code Online (Sandbox Code Playgroud)

知道我在 primeNG 面板菜单实现中缺少什么吗?

干杯圣基特

primeng angular

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

如何到达公共目录

我在我的项目中使用angular-cli,我想使用全局图像 - 我的网站徽标图像.

据我所知,public项目根目录(angular-cli创建)的目录是公共资产 - 这似乎是放置我的形象的好地方(如果我错了请纠正我).

但是,当我尝试在我的<img src="/public/book4u-logo.svg" />标签中找到该图像时,我得到404.原因是,当然,我的项目根目录是src目录而不是项目根目录.

那么,我应该如何进入该目录?或者我应该将我的图像放在另一个目录中?

我的项目树(我删除不必要的后缀):

.
??? angular-cli-build.js
??? angular-cli.json
??? package.json
??? public
?   ??? book4u-logo.svg
?   ??? hero-image-default.jpg
??? src
?   ??? app
?   ?   ??? bfy.component.html
?   ?   ??? bfy.component.scss
?   ?   ??? bfy.component.ts
?   ?   ??? environment.ts
?   ??? favicon.ico
?   ??? index.html
?   ??? main.ts
?   ??? system-config.ts
?   ??? tsconfig.json
?   ??? typings.d.ts
??? tslint.json
??? typings.json
Run Code Online (Sandbox Code Playgroud)

该 …

angular-cli angular

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

使用LocalStorage离子2

我有两个文本字段,必须从两个文本字段中获取数据并使用LocalStorage存储它.所以这里是我已经实现的代码,但它不起作用你能告诉我解决它.

在page1.html中

<ion-input [(ngModel)]="hour" type="number"  ></ion-input>

 <ion-input [(ngModel)]="min" type="number" ></ion-input>

<button clear (click)="setTime(hours.value,min.value)" item-right >settime</button>
Run Code Online (Sandbox Code Playgroud)

在pag1.ts

export class Page1 {

   public hour;
   public min;
   public local:Storage; 

  constructor(public nav: NavController, translate:TranslateService) {}


 setTime(hour, min){

   if(hour<24 && hour>0 && min>0 && min<61){
       this.local.set('hour',JSON.stringify(hour));
       this.local.set('min',JSON.stringify(min));
   }
   else{
     console.log("OUTOF LIMIT TIME EXCEPTION the values are "+hour+min);
   }
 }

  }
Run Code Online (Sandbox Code Playgroud)

在控制台日志上,它显示 [Object Object]在最后

并且也请告诉得到 从localStorage的.提前致谢 :-)

javascript ionic-framework ionic2 angular

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