Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular2类型脚本自定义警报_Angular_Typescript_Alert - Fatal编程技术网

Angular2类型脚本自定义警报

Angular2类型脚本自定义警报,angular,typescript,alert,Angular,Typescript,Alert,我对Angular2完全陌生,我一直在研究如何创建一个自定义警报,如下所示: 由于我对Angular2的概念还不熟悉,我不知道如何在我的Angular2应用程序中使用此代码,在该应用程序中,我用提交按钮创建了一个表格。我想在提交按钮上创建一个警报 这是用户界面: import {Component, NgModule } from "@angular/core"; import { BrowserModule } from '@angular/platform-browser'; import

我对Angular2完全陌生,我一直在研究如何创建一个自定义警报,如下所示:

由于我对Angular2的概念还不熟悉,我不知道如何在我的Angular2应用程序中使用此代码,在该应用程序中,我用提交按钮创建了一个表格。我想在提交按钮上创建一个警报

这是用户界面:

import {Component, NgModule } from "@angular/core";
import { BrowserModule } from '@angular/platform-browser';
import {Http} from "@angular/http";

@Component({
    selector: 'demo',
    templateUrl: './app/table/table.component.html'

})

export class TableComponent{

    public data;
    constructor(private http: Http) {
    }

    ngOnInit(): void {
        this.http.get("app/table/data.json")
            .subscribe((data) => {
                setTimeout(() => {
                    this.data = data.json();
                }, 1000);
            });
    }
    addRow()
    {
    this.data.push({
    status:''
    })
    }

    deleteRow(index) {
        this.data.splice(index,1);
    }

    public toInt(num: string) {
        return +num;
    }
    public sortByWordLength = (a: any) => {
        return a.city.length;
    }
}
import { NgModule }      from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';

import { AppComponent }   from './app.component';
import { TableModule }   from './table/table.module';


@NgModule({
    imports: [BrowserModule, TableModule],
    declarations: [AppComponent],
    bootstrap: [AppComponent]
})

export class AppModule { }

这是我的桌子。组件。ts:

import {Component, NgModule } from "@angular/core";
import { BrowserModule } from '@angular/platform-browser';
import {Http} from "@angular/http";

@Component({
    selector: 'demo',
    templateUrl: './app/table/table.component.html'

})

export class TableComponent{

    public data;
    constructor(private http: Http) {
    }

    ngOnInit(): void {
        this.http.get("app/table/data.json")
            .subscribe((data) => {
                setTimeout(() => {
                    this.data = data.json();
                }, 1000);
            });
    }
    addRow()
    {
    this.data.push({
    status:''
    })
    }

    deleteRow(index) {
        this.data.splice(index,1);
    }

    public toInt(num: string) {
        return +num;
    }
    public sortByWordLength = (a: any) => {
        return a.city.length;
    }
}
import { NgModule }      from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';

import { AppComponent }   from './app.component';
import { TableModule }   from './table/table.module';


@NgModule({
    imports: [BrowserModule, TableModule],
    declarations: [AppComponent],
    bootstrap: [AppComponent]
})

export class AppModule { }
这是我的桌子。module.ts

import { NgModule }      from '@angular/core';
import { CommonModule }      from '@angular/common';
import { FormsModule } from "@angular/forms";
import { DataTableModule } from "angular2-datatable";
import { HttpModule } from "@angular/http";

import { TableComponent }   from './table.component';
import { DataFilterPipe }   from './table-filter.pipe';





@NgModule({
    imports: [
        CommonModule,
        DataTableModule,
        FormsModule,
        HttpModule
    ],
    declarations: [TableComponent, DataFilterPipe],
    exports: [TableComponent]
})

export class TableModule { }
这是我的app.module.ts:

import {Component, NgModule } from "@angular/core";
import { BrowserModule } from '@angular/platform-browser';
import {Http} from "@angular/http";

@Component({
    selector: 'demo',
    templateUrl: './app/table/table.component.html'

})

export class TableComponent{

    public data;
    constructor(private http: Http) {
    }

    ngOnInit(): void {
        this.http.get("app/table/data.json")
            .subscribe((data) => {
                setTimeout(() => {
                    this.data = data.json();
                }, 1000);
            });
    }
    addRow()
    {
    this.data.push({
    status:''
    })
    }

    deleteRow(index) {
        this.data.splice(index,1);
    }

    public toInt(num: string) {
        return +num;
    }
    public sortByWordLength = (a: any) => {
        return a.city.length;
    }
}
import { NgModule }      from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';

import { AppComponent }   from './app.component';
import { TableModule }   from './table/table.module';


@NgModule({
    imports: [BrowserModule, TableModule],
    declarations: [AppComponent],
    bootstrap: [AppComponent]
})

export class AppModule { }
我试图在上面的应用程序中实现这一点,但结果很糟糕。 如果您有任何帮助,我们将不胜感激, 提前感谢

可能是您想要的


此处演示:

根据您使用的样式以及您是否愿意接受测试版代码,您可以使用“角度材质”对话框


有几种方法可以做到这一点,您可以按照其他用户的建议使用引导或材料来创建您要查找的警报

stackoverflow中还有另一个类似的答案,建议您使用服务触发模式

  • 创建服务以控制警报的可见性
  • 从'@angular/core'导入{Injectable};
    @可注射()
    导出类警报服务{
    警报={
    isVisible:false,
    消息:“”
    };
    构造函数(){}
    显示(消息){
    console.log('is visible');
    this.alert.isVisible=true;
    }
    隐藏(){
    this.alert.isVisible=false;
    }
    
    }
    有一个入门指南,您应该尝试以下内容。看看这个简单明了的答案注意:清楚地阅读说明