Angular2访问index.html中的服务对象

时间:2017-10-10 16:59:42

标签: html angular typescript

我有一个DataService,它应该获取文本框值,并将其传递给我的组件。我想知道当文本框值发生变化时,有没有办法在index.html文件中访问服务对象?这是我到目前为止所尝试的:

的DataService:

export interface Info{
  itemNo:string;
}

@Injectable()
export class DataService {

item:Info={itemNo:"Test"};

change(newItem:string){
  this.item.itemNo=newItem;
}
constructor(private http: Http) { }
}

我想从服务中访问更改方法:

onSelect: function (request, response) {
    console.log(urlApi);
            $.ajax({
                type: "GET",
                url: urlApi,
                dataType: 'json',
                success: function(response) {
                  this.item.change(response.items[0].item); //This is what I am trying to do
                 },
                error: function() { alert('Failed!'); },
            });
        }

有人可以指出我该怎么做吗?

1 个答案:

答案 0 :(得分:1)

我认为你的问题在于"这个"范围。如果您被允许使用ES6,则可以使用新的arrow functions来访问this.item。它可能很简单。



...
success: (response) =>{
  this.item.change(response.items[0].item); //This is what I am trying to do
}
...




尽管如此,你可能最好使用Angular' HTTP client而不是jQuery