kendo ui 實現MVVM
阿新 • • 發佈:2018-08-19
visible set pri operation option per param -m edi
MVVM model----view model----model 實現頁面和model之間的動態綁定
grid 支持 events source visible綁定
第一步建立一個observable對象 對象為參數
var viewModel = kendo.observable()
第二步實現視圖與 viewModel綁定
kendo.bind($("#example"), viewModel); //jQuery對象
註意對某一屬性設置值時使用
this.set("isDescriptionShown", true);
showDescription: function(e) {
e.stopPropagation();
e.preventDefault();
this.set("isDescriptionShown", true); //給屬性賦值
}
<!DOCTYPE html> <html> <head> <title></title> <link rel="stylesheet" href="styles/kendo.common.min.css" /> <link rel="stylesheet" href="styles/kendo.default.min.css" /> <link rel="stylesheet" href="styles/kendo.default.mobile.min.css" /> <script src="js/jquery.min.js"></script> <script src="js/kendo.all.min.js"></script> </head> <body> <div id="example"> <div class="demo-section k-content wide"> <div> <h4>Add or update a record</h4> <div data-role="grid" data-editable="true" data-toolbar="[‘create‘, ‘save‘]" data-columns="[ { ‘field‘: ‘ProductName‘, ‘width‘: 270 }, { ‘field‘: ‘UnitPrice‘ }, ]" data-bind="source: products, //綁定的屬性 visible: isVisible, //顯示隱藏 events: { save: onSave }" style="height: 200px"></div> </div> <div style="padding-top: 1em;"> <h4>Console</h4> <div class="console"></div> </div> </div> <div class="box wide"> <div class="box-col"> <h4>Configuration</h4> <div> <label><input type="checkbox" data-bind="checked: isVisible">Visible</label> //綁定的屬性 </div> </div> <div class="box-col"> <h4>Information</h4> Kendo UI Grid supports the <a href="http://docs.telerik.com/kendo-ui/getting-started/framework/mvvm/bindings/events">events</a>, <a href="http://docs.telerik.com/kendo-ui/getting-started/framework/mvvm/bindings/source">source</a> and <a href="http://docs.telerik.com/kendo-ui/getting-started/framework/mvvm/bindings/visible">visible</a> bindings. </div> </div> <script> var viewModel = kendo.observable({ //觀察者 檢測屬性的變化 isVisible: true, onSave: function(e) { kendoConsole.log("event :: save(" + kendo.stringify(e.values, null, 4) + ")"); }, products: new kendo.data.DataSource({ schema: { //圖表 model: { id: "ProductID", fields: { ProductName: { type: "string" }, UnitPrice: { type: "number" } } } }, batch: true, //批量的 transport: { read: { url: "https://demos.telerik.com/kendo-ui/service/products", dataType: "jsonp" }, update: { url: "https://demos.telerik.com/kendo-ui/service/products/update", dataType: "jsonp" }, create: { url: "https://demos.telerik.com/kendo-ui/service/products/create", dataType: "jsonp" }, parameterMap: function(options, operation) { if (operation !== "read" && options.models) { return {models: kendo.stringify(options.models)}; } } } }) }); kendo.bind($("#example"), viewModel); //實現 視圖和 viewModel的綁定 </script> </div> </body> </html>
kendo ui 實現MVVM