Angular 使用文档选择其他li旁边的li元素。(属性)
我正在使用一个名为bly.io的发布/订阅解决方案来订阅和发布实时值。 我设置它的方式是为ngFor中的每个列表分配一个动态id。这样我就可以识别正确的列表,以便从ably.io subscribe中分配值Angular 使用文档选择其他li旁边的li元素。(属性),angular,typescript,Angular,Typescript,我正在使用一个名为bly.io的发布/订阅解决方案来订阅和发布实时值。 我设置它的方式是为ngFor中的每个列表分配一个动态id。这样我就可以识别正确的列表,以便从ably.io subscribe中分配值 document.getElementById(message.data.auctionId).innerHTML=“$”+message.data.lastBid 这很好用。我现在只需要访问它旁边的li,这样我就可以给它正确的值 目标是从bly.io中获取lastBidderName,并将
document.getElementById(message.data.auctionId).innerHTML=“$”+message.data.lastBid代码>
这很好用。我现在只需要访问它旁边的li,这样我就可以给它正确的值
目标是从bly.io中获取lastBidderName,并将其分配给dynamic auctionId listing,以便它也能实时更新,而不仅仅是在浏览器刷新时
为了让它工作,我需要在找到正确的auctionId之后访问名为lastBidderName的子元素类。然后我可以将message.data.lastbidername从bly.io分配给它
如何更改下面的第二个示例以正确访问子元素
channel.subscribe(message => {
document.getElementById(message.data.auctionId).innerHTML =
"$" + message.data.lastBid;
document.querySelector(
"message.data.auctionId > lastBidderName"
).innerHTML = message.data.lastBidderName;
});
html
当前投标:
${{auction.currentBid}
投标人:
{{auction.lastBidderName}
我建议您在这两个项目上都添加ID,如下所示
<li>Current Bid:
<span id="auction-{{auction.id}}" class="currentBid">
${{auction.currentBid}}
</span>
</li>
<li>Bidder:
<span id="bidder-{{auction.id}}" class="lastBidderName">
{{auction.lastBidderName}}
</span>
</li>
还有一个问题
为什么不更新动作对象?这真是太聪明了!现在可以用了,谢谢。我不知道你所说的动作对象是什么意思。如果您正在谈论将值发布到bly.io,则会在其他地方发生。@user6680我的意思是您可以找到id等于message.data.auctionId
的操作,然后执行auction。currentBid=message.data.lastBid
和auction.lastBidderName=message.data.lastBidderName
我想我可以。我正在阅读文档,并在其中一个Bly.io教程中找到了一个示例,该教程编写了document.getElementById.innerHtml。它似乎对我很有效,所以我从未考虑过其他解决方案lol@user6680让我创建一个简单的示例Sure。如果你想给我举个例子,我愿意接受其他的解决方案
<li>Current Bid:
<span id="auction-{{auction.id}}" class="currentBid">
${{auction.currentBid}}
</span>
</li>
<li>Bidder:
<span id="bidder-{{auction.id}}" class="lastBidderName">
{{auction.lastBidderName}}
</span>
</li>
channel.subscribe(message => {
document.getElementById(
`auction-${message.data.auctionId}`).innerHTML =
"$" + message.data.lastBid;
document.getElementById(
`bidder-${message.data.auctionId}`
).innerHTML = message.data.lastBidderName;
});