2012-05-15 66 views
4

我與name,value屬性綁定字段。但它不舒服。在沒有客戶端Javascript的Jade中的數據綁定

input(name='user[name]', value='#{user.name}') 

我想數據綁定類似knockout.js但沒有在客戶端(傳統移動設備)加載JavaScript。像下面的代碼:

input(databind='username[value]') 
+6

沒有瀏覽器具有這種數據綁定功能(還)。不可能沒有JavaScript。 –

+0

爲什麼knockout.js不是一個好的電話? –

回答

2

knockout.js的功率的很大一部分是「雙向綁定」,檢測在DOM元素變化和事件和它們反映在模型。沒有加載JavaScript,這部分是不可能的。

因此,我假設你在生成html發送給客戶端時詢問某種形式的單向綁定。

這讓我想知道你有什麼好處。它是否只是一種不同風格的編碼?

Knockout.js的數據綁定是作爲一組可擴展的'綁定'來呈現的,每個綁定都根據特定的目的而定製,以便爲特定的使用場景提供便利。淘汰賽的foreach,或重複綁定可以方便生成列表或表格,例如。對我來說,淘汰賽的最大優點是可以輕鬆創建新的綁定以滿足您的特定需求。

對於這裏值得的是一些想法...沒有特別的順序。

  1. 您可能可以使用jade mixins和塊來定義一些適合常見使用場景的簡單可重用綁定。
  2. 看看適合你的服務器端環境的其他模板庫,看看你有沒有比玉更好的東西。
  3. 帶有擴展機制的模板庫(EJS過濾器,Mustache lambdas,JSP自定義標籤)將允許您爲使用場景創建一些經常使用的綁定並重用它們。

可能最好的做法是更具體地瞭解您想要的好處。這可能會啓發一些更好的迴應。