簡體   English   中英

字符串Twig文件中的Javascript變量

[英]Javascript variable in string twig file

我需要按照以下代碼設置變量id的值,

 { type: "control",
                itemTemplate: function(_,item) {

                   var id = item['postId'];
                   var $result = jsGrid.fields.control.prototype.itemTemplate.apply(this, arguments);
                   var $myButton = $("<a style='margin-left:5px;' href='{{ path('updatefull', {'post_id': "+id+"}) }}'><i class='far fa-edit'></i></a>");
                    return $result.add($myButton);
                }
}

但這是行不通的。 它顯示/ + id +而不是id的值(例如,類似於/ 6)。 如何解決呢?

Twig模板始終總是首先在服務器上運行,並編寫一個發送到客戶端的模板。 然后,該模板中的JS可以在瀏覽器中運行。 您期望JS聲明變量id ,然后Twig調用path ,然后JS繼續工作,這是不可能的。 您必須以另一種方式將id變量添加到Twig中。

這是我解決的方法,

{ type: "control",
                itemTemplate: function(_,item) {

                   var id = item['postId'];
                   var path = '{{ path("updatefull", {'post_id': 'id'}) }}';
                    path = path.replace("id", id);
                   console.log(path);
                   var $result = jsGrid.fields.control.prototype.itemTemplate.apply(this, arguments);
                   var $myButton = $("<a style='margin-left:5px;' href="+path+"><i class='fa fa-edit'></i></a>");
                    return $result.add($myButton);
                } 

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM