在函数Angular 2中传递参数时发生错误

时间:2016-07-04 09:06:51

标签: typescript angular

我试图从html调用一个函数,它有一个int参数传递,但是当我这样做时它显示错误。我不知道我做错了。以下是typescript和html代码以及图像中的错误

组件

@Component({
    selector: 'approval',
    templateUrl: '../app/layouts/approval.html'
})
export class ApprovalComponent {
    private _data: Observable<any[]>;

    constructor(public http: Http) {
        this.getAllUser();

    }

    approvalPendingRequest(id) {


        var result = this.http.get('https://localhost:44300/api/apis/GetSubscriptionById/'+ id)
            .subscribe(
            data => this._data = data.json(),
            err => this.logError(err),
            () => console.log('getsubscription api call')
            );

        alert(result);


    }
}

HTML

<h1>Pending Approvals </h1>
<link href="../../Content/bootstrap.css" rel="stylesheet" />
<link href="../../Content/bootstrap-theme.min.css" rel="stylesheet" />
<div class="container">
    <div class="row">
        <div class="col-offset-md-10">
            <button type="button" class="btn-u  pull-center" data-toggle="modal" data-target="#myModal">Invite User</button>
        </div>

    </div>
    <div class="row">
        <div class="col-md-8">
            <div class="table-responsive">
                <table class="table table-striped table-bordered">
                    <thead>
                        <tr>
                            <th>Account Manager</th>
                            <th>Subscription</th>
                            <th>Created By</th>
                            <th>Pending</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr *ngFor="let user of _data">
                            <th>{{user.AccountManagerId}}</th>
                            <th>{{user.SubscriptionId}}</th>
                            <th>{{user.CreatedBy}}</th>
                            <th>
                                <button type="button" class="btn btn-xs btn-danger" (click)="approvalPendingRequest({{user.SubscriptionId}})">
                                    <span class="glyphicon glyphicon-send"></span>&nbsp;
                                </button>
                            
                           </th>
                        </tr>
                    </tbody>
                </table>
            </div>
        </div>
    </div>
</div>

<!-- Modal -->
<div class="modal fade" id="myModal" role="dialog">
    <div class="modal-dialog">

        <!-- Modal content-->
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h4 class="modal-title">Add New User</h4>
            </div>
            <div class="modal-body">
                <form (submit)='inviteUser()'>
                    <div class="form-group">
                        <label for="name">Name</label>
                        <input type="text" class="form-control" required
                                name="name">
                    </div>
                    <div class="form-group">
                        <label for="alterEgo">Email</label>
                        <input type="email" class="form-control" required
                                name="alterEgo">
                    </div>
                    <div class="form-group">
                        <label for="power">Partner</label>
                        <select class="form-control" 
                                 name="power">
                            <option *ngFor="let p of powers" [value]="p">{{p}}</option>
                        </select>
                    </div>
                    <button type="submit" class="btn btn-default" data-dismiss="myModal">Invite</button>
                </form>
            </div>

        </div>

    </div>
</div>

图像

enter image description here

1 个答案:

答案 0 :(得分:2)

请使用此代码:

(click)="approvalPendingRequest(user.SubscriptionId)">

您不需要{{...}},因为您仍然处于click事件发生时执行的表达式中。