鍍金池/ 教程/ HTML/ 單頁面應(yīng)用(四) Layout
準(zhǔn)備
Kendo UI 特效概述
Kendo MVVM 數(shù)據(jù)綁定(三) Click
Kendo MVVM 數(shù)據(jù)綁定(十) Source
Kendo MVVM 數(shù)據(jù)綁定(二) Checked
Kendo MVVM 數(shù)據(jù)綁定(五) Events
UI Widgets 概述
Kendo MVVM 數(shù)據(jù)綁定(一) attr
單頁面應(yīng)用(二) Router 類
單頁面應(yīng)用(四) Layout
Kendo DataSource 概述
Kendo MVVM 數(shù)據(jù)綁定(四) Disabled/Enabled
Kendo MVVM 數(shù)據(jù)綁定(十一) Value
Kendo MVVM (二) ObservableObject 對象
單頁面應(yīng)用(一)概述
Kendo UI 模板概述
Kendo MVVM 數(shù)據(jù)綁定(七) Invisible/Visible
Kendo MVVM 數(shù)據(jù)綁定(八) Style
初始化 Data 屬性
Kendo UI Validator 概述
單頁面應(yīng)用(三) View
Kendo MVVM 數(shù)據(jù)綁定(九) Text
Kendo MVVM (一) 概述
移動應(yīng)用開發(fā)簡介
Kendo MVVM 數(shù)據(jù)綁定(六) Html
使用 Kendo UI 庫實現(xiàn)對象的繼承

單頁面應(yīng)用(四) Layout

ayout 繼承自 View,可以用來包含其它的 View 或是 Layout。 下面例子使用 Layout 來顯示一個 View


<div id="app"></div>

<script>
    var view = new kendo.View("<span>Foo</span>");

    var layout = new kendo.Layout("<header>Header</header><section id='content'></section><footer></footer>");

    layout.render($("#app"));

    layout.showIn("#content", view);
</script>

這個例子創(chuàng)建一個 Layout 對象,這個 Layout 含有一個 Header,一個 Content 和一個 footer ,其中 Content以setion 元素定義,作為一個 PlaceHolder, 實際應(yīng)用時可以使用某個 View 來替換。

http://wiki.jikexueyuan.com/project/kendo-ui-development-tutorial/images/40.jpg" alt="" />

Layout 本身也是一個 View,因此在 showIn 方法中也可以傳入一個 Layout 對象,從而實現(xiàn) Layout 的嵌套支持。

Layout 定義多個 View 統(tǒng)一的布局,定義了 View 的 Placeholder,因此在應(yīng)用中可以實現(xiàn) View 的切換。例如:


<div id="app"></div>

<script>
    var foo = new kendo.View("<span>Foo</span>", { hide: function() { console.log("Foo is hidden now"); }});
    var bar = new kendo.View("<span>Bar</span>");

    var layout = new kendo.Layout("<header>Header</header><section id='content'></section><footer></footer>");

    layout.render($("#app"));

    layout.showIn("#content", foo);
    layout.showIn("#content", bar);
</script>

這段代碼首先顯示”foo” ,然后很快切換到顯示 “bar”。 這可以通過檢查 log 來確認:

http://wiki.jikexueyuan.com/project/kendo-ui-development-tutorial/images/41.jpg" alt="" />