2016-09-19 99 views
0

我有一個包含列表的玉石模板,當單擊一個項目時它調用一個名爲change()的方法。在下面的示例中,我希望change()方法通過參數「類別」和「作業」(我正在使用Angular Translate,並將「作業」映射到「作業」)。然而,玉編譯器不喜歡,並拋出一個錯誤sayinf:翻譯一個字符串,然後傳遞給ng-click

Syntax Error: Unexpected token 
translate='jobs' 

我的代碼是:

ul.dropdown-menu 
    li(ng-click='ctrl.change("category", translate='jobs')') 
     a(translate='jobs') 



change(dimensionKey, dimensionName) { 

    console.log('in the change and arguments are ', arguments); 

} 

如何翻譯一個字符串,然後傳遞給ng-click

+1

看起來你的問題可能是單引號。在您的模板中,您可以在'='符號後面用單引號啓動'ng-click'。然後你用一個單引號開始翻譯表達式,有效地改變Jade語句。用雙引號試試:'translate =「jobs」' –

+0

@JoelCDoyle translate並不實際執行這種方式,change()處理程序以參數「category」,「jobs」而不是「category」,「Jobs」 – Mark

回答

1

您可以使用$ filter直接從您的翻譯字符串ID轉換爲javascript。只需調用「翻譯」過濾器並傳遞翻譯字符串參數即可。例如:

var translate = this.$filter("translate"); 
var jobsTranslated= translate('jobs'); 
相關問題