horizon.io 컬렉션의 값을 증가시키는 기본 작업을 수행하는 방법을 파악하려고합니다. 예를 들어 upvotes 버튼을 나타낼 수있는 <h1>
태그가 있고 upvotes 수를 영구적으로 유지하려고합니다. 내가 값에게 <h1>
태그를 클릭 할 때마다 업데이트하려고 그런Horizon 컬렉션의 값이 증가합니다.
created() {
me.store({
datetime: new Date(),
value: this.foo // local data variable set to 0 initially.
}).subscribe(
result => console.log(result),
error => console.log(error)
)
var self = this
me.watch().subscribe(function(data){
data.map(function(data){
self.foo = data.value
})
})
},
:
inc(){
me.update({
id: 1,
value: this.foo++
})
}
을 어떻게에서 값을 업데이트 않는 뷰 인스턴스의 다음
<h1 @click="inc">{{foo}}</h1> <!-- foo is local variable -->
<ul>
<li v-for="message in me">
{{message.value}} <!-- message.value is upvote value from collection -->
</li>
</ul>
컬렉션에있는 값에 액세스하려면 내 템플릿에서 컬렉션을 렌더링해야합니까?
클릭 핸들러를 컬렉션에서 가져온 값에 연결하면 이상한 동작이 발생합니다. 증분은 작동하지만 업데이트 된 값은 유지되지 않습니다. 하나의 브라우저에서 값을 클릭하면 값이 증가하지만 다른 브라우저에서 열면 값은 다시 내려갑니다.하지만 반드시 0으로 되돌아 가지는 않습니다. 실제로이 값은 예측할 수없는 방식으로 주변에서 튀어 오릅니다. 여기서 무슨 일이 일어나고 있는지 확실하지 않습니다. –
이상한 증가 문제가 해결되었지만 값이 지속되지 않습니다. 브라우저를 새로 고치면 값은 0으로 돌아갑니다. –
안녕하세요. @MahmudAdam 일단'.store'를 한 번만 실행한다고 가정하면 어리석은 실수를 저지 릅니다.하지만 위의 업데이트를 보면'.insert'를 사용하여 이미 존재하는지 확인하고 싶습니다. 계속 실행하십시오. 기본적으로 페이지를로드 할 때마다 이미 존재하는 문서를 덮어 쓰게되므로 값이 항상 0으로 되돌아갑니다. – dalanmiller