小编Adi*_*tya的帖子

错误:未捕获(承诺):[object Object]

@Injectable()
class MyErrorHandler implements ErrorHandler {

  handleError(error) {
    // exception occured in some service class method.
    console.log('Error in MyErrorhandler - %s', error);
      if(error == 'Something went wrong'){
       //do this.
     }else{
      //do this thing.
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

当在某个类的方法中抛出异常时,MyErrorHandler 类会将捕获的错误打印为 Error in MyErrorhandler - Error: Uncaught (in promise): [object Object] Error: Something went wrong.

问题1:为什么错误显示为Error: Uncaught (in promise): [object Object]

问题 2:由于上述消息,即使if(error == 'Something went wrong')在任何条件下的代码的情况下,它也将始终读取 else 部分。我该如何解决这个问题?

javascript error-handling angular

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

为什么我们不能在TypeScript类中定义const字段,以及为什么静态readonly不起作用?

我想const在我的程序中使用关键字.

export class Constant {

    let result : string;

    private const CONSTANT = 'constant'; //Error: A class member cannot have the const keyword.

    constructor () {}

    public doSomething () {
        if (condition is true) {
           //do the needful
        }
        else
        {
            this.result = this.CONSTANT; // NO ERROR
        }


    }
}
Run Code Online (Sandbox Code Playgroud)

问题1:为什么类成员在typescript中没有const关键字?

问题2:当我使用时

static readonly CONSTANT = 'constant';
Run Code Online (Sandbox Code Playgroud)

并分配

this.result = this.CONSTANT;
Run Code Online (Sandbox Code Playgroud)

它显示错误.为什么这样?

我已经按照这篇文章如何在typescript中实现类常量?但是没有得到答案为什么typescript用const关键字显示这种错误.

const typescript

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

输入焦点时如何隐藏错误消息?

我正在使用 ionic2 在 angular2 中进行表单验证。我想在用户输入无效值时停止显示错误消息,并且仅当用户在输入框外单击时才显示错误消息。

表单.html

<form>
<ion-input type="text" [(ngModel)]="username" name="username" #username="ngModel" required></ion-input>
<span *ngIf="username.touched && username.invalid && username.dirty">username is incorrect</span>
<form>
Run Code Online (Sandbox Code Playgroud)

当用户输入数字时,上面的表单显示错误消息。我想在用户输入时隐藏错误消息,即焦点输入,并在用户点击输入字段外即失去焦点时显示错误消息。

我怎样才能做到这一点?

我正在使用 angular2 的模板驱动表单方法。

angular2-forms angular

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

如何去除离子项目周围的填充物?

我想padding从我的离子项目中删除,以便它可以占据整个width页面。

请在开发工具中查看padding离子项目的周围。

<ion-content padding>
  <ion-list>
    <ion-item>
      <ion-thumbnail>
        <img class="imgmg" src="...">
      </ion-thumbnail> 
      <h2>Text</h2>
    </ion-item>
  </ion-list>
</ion-content>
Run Code Online (Sandbox Code Playgroud)

ion-item的填充为16px,当我检查ion-item时,也在class =“ scroll-content”上,我在检查器中找到了scss

ion-app.md [padding] .scroll-content {
    padding: 16px;
}
Run Code Online (Sandbox Code Playgroud)

如果删除此填充,则ion-item可以通过删除此填充来占据整个宽度,但是当我在scss文件中使用此填充时,不会删除该填充。

html css ionic-framework ionic2 ionic3

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

如何在 ion-icon ios-thumbs-up-outline 中填充颜色

我使用 ion-icon 作为

.html

<ion-icon name="ios-thumbs-up-outline" [style.color]="'#EF3B51'"></ion-icon>
Run Code Online (Sandbox Code Playgroud)

当我这样做时,图标的轮廓变为红色,但我想在图标内的空白区域填充红色。

您可以看到下图:

在此输入图像描述

ionic-framework ionicons ionic2 ionic3

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

无法在setInterval函数内部调用异步函数

我想调用从函数内部的服务类实例调用的异步setInterval函数。

        class async {

        constructor(public service: Service){}            

            async doSomeAsyncTask(){

               setInterval(await this.service.anotherAsyncTaskInTheServiceClass(),3000); 

       //want to call the inside of setInterval function repeatedly in every 3ms.       
      } 
    }
  }
Run Code Online (Sandbox Code Playgroud)

javascript setinterval typescript

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

如何使用管道有条件地显示innerHTML值

我正在使用 angular 8。想要使用管道翻译有条件地实现innerHTML

.html

<button type="button"     
    mat-flat-button
    // using translate module internally
   [innerHTML] = "display ? (HIDE_NUMBER' : SHOW_NUMBER) | translate)"
   (click)="toggle()">
</button>

Run Code Online (Sandbox Code Playgroud)

.ts

//all imports are done

   export class New implements OnInit {

    public display: boolean;

    constructor() {}

    toggle() {
      this.display = !this.display;
    }

}

Run Code Online (Sandbox Code Playgroud)

html javascript angular

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

如何通过id查找对象?

我有这个对象集合:

const objects = [
  { id: '11', name: 'ron', surname: 'lesner', group: 'A' },
  { id: '12', name: 'don', surname: 'lesner', group: 'B' },
  { id: '13', name: 'ton', surname: 'lesner', group: 'A' },
]
Run Code Online (Sandbox Code Playgroud)

我需要使用 Lodash 返回具有匹配 id 的对象。

以下代码返回undefined

_.find(object, id, 11);
Run Code Online (Sandbox Code Playgroud)

我期待这个结果:

{ id: '11', name: 'ron' , surname: 'lesner' , group: 'A' }
Run Code Online (Sandbox Code Playgroud)

javascript arrays lodash

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

在离子切换中切换开关时如何调用不同的功能

当切换按钮"打开"时,请参阅下面的函数buttonOn(),
PIC1

我想在buttonOff()"关闭"时切换它,如下所示

在此输入图像描述

html的

<ion-toggle (ionChange)="buttonOn()"></ion-toggle>
Run Code Online (Sandbox Code Playgroud)

.TS

buttonOn() { 
    // this function is called;
}

buttonOff() {
   // how to call this function when toggle button gets off?
}
Run Code Online (Sandbox Code Playgroud)

typescript ionic-framework ion-toggle ionic2 ionic3

0
推荐指数
1
解决办法
563
查看次数