无法将输入字段值传递给Angular 2中的服务

时间:2017-07-24 06:48:44

标签: angular angular-services

接触bar.component.ts

insert into temp_t_so_sales_order_push(so_code,seq)
   SELECT t.so_code,nextval('s_t_so_sales_order_push_code') from (
   SELECT so_code from t_so_sales_order_push where sync_status = 0 group by so_code
   ) as t;

contact.service.ts

<table>
  <tr><th>Unique ID</th><th>Random ID</th></tr>
  <tr><td>testabc.com</td><td>442</td></tr>
  <tr><td>teerfrestabc.com</td><td>556</td></tr>
  <tr><td>teerfsderestabc.com</td><td>4666</td></tr>
  <tr><td>teerasdefrestabc.com</td><td>334</td></tr>
  <tr><td>teerfrestabcdsad.com</td><td>54364</td></tr>
</table>
<br />
<input type="text" id="search" placeholder="  live search"></input>        
  

错误:无法读取属性'push'的null

1 个答案:

答案 0 :(得分:0)

首先关注您的错误:您正在收到Cannot read property 'push' of null,因为您正在尝试获取不存在的联系人数据(通过 localstoarge )。这就是为什么在将数据推送到阵列时,您会发出错误提示。

但是,您的代码中存在一些需要修复的问题。

  1. 删除此行: var contacts: Array<Contact> = JSON.parse(LocalStorage.getItem("contacts"));

  2. 请尝试以下方法,而不是将数据作为数组发送:

  3. <强>代码:

    var contact =  {
        contact.id : 1;   
        contact.name:(<HTMLInputElement>document.getElementById("contactName")).value;  
        contact.mobile: parseInt((<HTMLInputElement>document.getElementById("contactMobile")).value);
        }
    
    this.contactService.saveContact(contact);
    
    **contact.service.ts**
    
    saveContact(contact: any) {
        localStorage.setItem("contacts", JSON.stringify(contact));
    }