[英]Ember cannot pass parameter into action
無論我輸入的是什么值,還是將其更改為onclick =“ {{action ...}}}”,它都會不斷為我帶來不確定的價值。 我已經嘗試了所有我能想到的組合。 我甚至使用的標簽,看看是否會保存價值。 我完全不確定應該如何獲取此圖像網址。
這是在余燼中,我在代碼的其他部分中使用了{{action“ function name”}}}組合,但這是唯一無法使用的部分。
模板文件
<div class="gif-display">
{{#each giffy as |gif index|}}
<img width="150px" {{action "selectGIF" value=gif}} src={{gif.images.original.url}}>
{{/each}}
</div>
控制器類
selectGIF: function (num) {
console.log("num", num)
let newPost = this.store.createRecord('post', {
email: this.get("session.currentUser.email"),
body: `${gifs[num].images.original.url}`,
timestamp: new Date().getTime(),
image: true
});
gifs = ''
newPost.save()
}
是的,我已經測試過它是否可以運行該功能,並且確實可以運行圖像,因此也不是問題。
我的問題是,是否可以將參數傳遞給此函數。 如果沒有解決方法? 我應該使用輔助功能嗎?
謝謝!
函數參數列表是索引列表,而不是鍵值集合。 因此,將參數作為鍵值對傳遞是錯誤的。 相反,應在操作名稱之后直接向助手提供參數,以引用或文字值的空格分隔列表:
<img {{action "selectGIF" gif}} />
資料來源: https : //guides.emberjs.com/v3.0.0/templates/actions/#toc_action-parameters
此頁面還顯示可以將鍵值對提供給操作助手,但是這些是助手執行的參數,而不是實際操作的執行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.