에 타다 남은 목록에서 단일 항목을 전환하는 방법엠버
{{#md-collection content=model as |item|}}
<div class='collection-item'>
<img src="{{item.url}}" class="asset-thumbnail" />
<div class="asset-url">
{{item.url}}
</div>
<div class="secondary-content">
{{#copy-button
clipboardText=item.url
class="btn"
success="successfulCopy"
}}
{{fa-icon "chain" title="Copy to Clipboard"}} {{unless copied "Copy Link" "Copied"}}
{{/copy-button}}
{{confirmation-link
title="Delete"
action=(route-action "deleteAsset" item)
icon="trash"
message="Are you sure you want to delete this asset?"
confirmButtonText="Yes, Delete Asset"
confirmButtonColor="#FF6666"
classNames="btn delete"}}
</div>
</div>
{{/md-collection}}
을 다음과 같이 나는 구성 요소를 가지고 있으며 컨트롤러가 있습니다
import Ember from 'ember';
export default Ember.Component.extend({
copied:false,
actions:{
deleteAsset(asset){
this.attrs.deleteAsset(asset);
},
successfulCopy(btn){
console.log(this.$(btn));
this.$(btn).toggleProperty('copied', true);
Ember.run.later(()=>{
this.$(btn).toggleProperty('copied', false);
},500);
}
}
});
내가 텍스트 Copy Link
로 버튼을 클릭합니다 그런 다음 구성 요소는 복사 된 속성을 필요에 따라 토글합니다. 그러나 목록의 모든 항목에 대한 속성을 토글하여 모든 텍스트를 변경합니다. 액션 successfulCopy
에는 내가 클릭 한 버튼의 HTML에 대한 참조가 있습니다. 하나의 구성 요소에 대해서만 복사 된 속성을 토글하여 해당 버튼의 텍스트를 전환하는 방법은 무엇입니까?
당신은'copied'라는 버튼 당 하나 개의 속성이 필요합니다. 지금은 모든 버튼 사이에 하나의 속성을 공유하고 있는데, 그 속성이 변경 될 때마다 그 속성을 사용하는 모든 요소 내에서 연쇄 반응이 생깁니다 ... – mk2
구성 요소 코드를 게시했는데, 이는 '복사 버튼'구성 요소 코드입니까? 'successCopy' 함수를 어디에서 호출했는지 코드를 보여줍니다. 그 인자는 this 문맥의'copy-button' 컴포넌트를 클릭 한 것입니다. – kumkanillam