在angular 2服务中调用auther内的方法
我得到的在angular 2服务中调用auther内的方法,angular,Angular,我得到的属性“getKey”在类型“HtmlanchoreElement”上不存在错误 我尝试了很多解决方案,但我仍然有同样的问题。 我想从标记中提取文本,并在另一种方法中使用它。 我需要这样做,以便将该文本发送到另一个服务,即list.service1.ts。 我试图通过执行以下操作直接发送它:this.listService1.findList(text)而不是创建中间方法,但会出现相同的错误:属性“listService1”在类型“HtmlanchoreElement”上不存在。。 我需要
属性“getKey”在类型“HtmlanchoreElement”上不存在错误
我尝试了很多解决方案,但我仍然有同样的问题。
我想从
标记中提取文本
,并在另一种方法中使用它。
我需要这样做,以便将该文本发送到另一个服务,即list.service1.ts
。
我试图通过执行以下操作直接发送它:this.listService1.findList(text)
而不是创建中间方法,但会出现相同的错误:属性“listService1”在类型“HtmlanchoreElement”上不存在。
。
我需要每次单击
标记时,我都可以在其他服务方法中使用其中的文本
list.service.ts
看起来您是在服务的方法中直接操作DOM。这不是一种有棱角的做事方式。您可能最好先阅读Angular教程()或类似的内容,以了解框架的支柱。除了Picci的优秀建议外,您还可以在此处找到一些“入门”Angular 2+代码:它显示了如何使用路由参数在用户每次单击链接标记时传递值。也就是说,您的问题可以通过使用箭头函数(()=>
)而不是匿名的函数()来解决。好的,非常感谢
@Injectable()
export class ListService {
constructor(private listService1: ListService1) {
this.listService1 = listService1;
}
findAllList() {
const ulList = document.getElementById('list1');
const dbrefList = database().ref().child('LISTE_OFFRE_EN_ATTEND');
const dbrefList1 = dbrefList.child('LISTE_OFFRE_EMPLOI');
dbrefList1.on('child_added', snap => {
const li = document.createElement('li');
const a = document.createElement('a');
a.href = "aff-offre";
const list1 = snap.key;
a.innerText = list1;
li.appendChild(a);
ulList.appendChild(li);
a.addEventListener("click", function () {
const text = a.outerText;
this.getKey(text);
});
});
}
getKey(text) {
}
}