2016-12-31 29 views
-1

通過教程去,我遇到這樣的:Ember.js的JavaScript語法如何工作?

this.render(hbs` 
    {{#list-filter filter=(action 'filterByCity') as |results|}} 
     <ul> 
     {{#each results as |item|}} 
     <li class="city"> 
      {{item.city}} 
     </li> 
     {{/each}} 
     </ul> 
    {{/list-filter}} 
    `); 

我以爲反引號所表示的字符串?那麼hbs是什麼?這是一個接收作爲參數的handlbars片段的函數嗎?

+0

hbs是把手。看到愚蠢的第一個答案。 –

+0

@PraveenKumar我想。如何反引號不會錯誤,但語法方面呢? –

+0

因爲,這是一個有效的語法老闆。 –

回答

3

我以爲反引號代表一個字符串?

沒有,反引號表示模板文字,其結果通常是一個字符串,但也不一定。當模板文字不是標記爲,但是這是一個標記模板文字,這是當模板文字傳遞到函數(在這種情況下爲hbs)時,您會得到一個字符串;結果是函數返回的結果。它看起來不像函數調用,但它是。

更多關於MDN:Template lierals

然後hbs是什麼?

hbs是爲模板提供句柄處理的函數,請參閱this question and its answers