前文回顧 <a href="http://www.cnblogs.com/liulun/p/7681073.html">riot.js教程【二】元件撰寫準則、預處理器、标簽樣式和裝配方法;</a> <a href="http://www.cnblogs.com/liulun/p/7672876.html">riot.js教程【一】簡介;</a>
你可以通過this.refs對象通路dom元素
而且還有大量的屬性簡寫方式可以使用
比如:if="{...}",(有時候你需要對這些東西做一些特殊的處理才能用)
如果你想在riot标簽内部通路dom元素
你可能需要了解一下riot标簽生命周期相關的知識
你會注意到,mount方法還沒執行的時候,dom元素是不會被建立的
這就意味着,mount方法之前通路DOM元素,是不會成功的
請看如下代碼:
也就是說,你隻要在正确的函數中使用jquery是一點問題都沒有的;
再看下面的代碼(兩種檢索方式都是支援的,第一種就是jquery檢索DOM)
你可以在初始化的時候為riotjs标簽傳入更多參數,比如:
你可以傳遞任何類型的資料;
可以是一個簡單的object;
也可以是動态變化的資料存儲(flux store)
在标簽内部,你可以使用如下方法通路這些輸入參數
riotjs标簽按照如下步驟構造及渲染
Tag構造
Tag内部的js執行
Tag内部的HTML中的表達式被執行
Tag在浏覽器上渲染,mount事件觸發
一個riotjs标簽在浏覽器上渲染,mount事件觸發後,何時會被更新呢?
當一個Tag内的事件被觸發的時候(除非你設定了禁止更新變量e.preventUpdate為true)
當在Tag執行個體内部調用this.update()的時候
當在一個父元件執行個體内部調用this.update()的時候(該父元件下的所有子元件都會更新)
當調用riot.update()的時候(會觸發全局更新)
當一個元件執行更新後,會觸發update事件
你可以為一個事件設定多個監聽