zoukankan      html  css  js  c++  java
  • KendoUI>Framework>MVVM>ObservableObject

    var viewModel1 = new kendo.data.ObservableObject( {
          field1: "value1",
          field2: "value2"
    });

    var viewModel2 = kendo.observable( {
          field1: "value1",
          field2: "value2"
    });
          

    这两段代码效果一致,kendo.data.ObservableObject和View-Model可以互换使用。因为所有View-Model继承于kendo.data.Observable对象。Objectkendo.data.ObservableObject对象支持更改追踪,以及更改通知。

    kendo.bind方法来转换View-Model对象到ObservableObject

    注意点: 用kendo.observale初始化View-Model后,你就可以用Kendo.data.ObservableObject的相关方法,因为这些方法能自动把View-Model对象转换为Kendo.data.ObservableObject

    var viewModel = kendo.observable({
        name: "John Doe"
    });

    viewModel.set("name", "Jane Doe"); // use the View-Model object after initialization

    如果,不是View-Model对象,自然不能:

    var viewModel = {
       name: "John Doe"
    };

    kendo.bind(document.body, viewModel);

    /* 
        The following statement  will fail because the View-Model
        is not an instance of kendo.data.ObservableObject.
    */
    viewModel.set("name", "Jane Doe");

    获取ObservableObject对象的值

    var viewModel = kendo.observable({
         name: "John Doe"
    });

    var name = viewModel.get("name");
    alert(name); // shows "John Doe"

    var viewModel = kendo.observable({
         person: {
             name: "John Doe"
         }
    });
    var personName = viewModel.get("person.name");
    alert(personName); // shows "John Doe"

    设置ObservableObject对象的值

    var viewModel = kendo.observable({
         name: "John Doe"
    });

    viewModel.set("name", "Jane Doe"); //set the "name" field to "Jane Doe"

    var name = viewModel.get("name");
    alert(name); // shows "Jane Doe"


    var viewModel = kendo.observable({
         person: {
             name: "John Doe"
         }
    });

    viewModel.set("person.name", "Jane Doe");

    var personName = viewModel.get("person.name");
    alert(personName); // shows "Jane Doe"

    组合View-Model对象的各个值

    <span data-bind="text: fullName"></span>
    <script>
        
    var viewModel = kendo.observable({
            firstName: 
    "John",
            lastName: 
    "Doe",
            fullName: 
    function() {
                
    return this.get("firstName"+ " " + this.get("lastName");
            }
        });

        kendo.bind($(
    "span"), viewModel);
    </script>


    合乎自然而生生不息。。。
  • 相关阅读:
    Gson简要使用笔记
    (一)微信开发环境搭建
    Hibernate 注解 字段不映射的注解
    Hibernate 使用注解后没发现建表
    Hibernate 注意命名与数据库关键字的冲突 处理方法
    struts2不能通过ONGL方式取出request中的Atrribute
    Android 两个Activity进行数据传送 发送
    Android 设置隐式意图
    Android 隐式意图 让用户选择一个浏览器访问网址
    Android 判断是否联网 是否打开上网
  • 原文地址:https://www.cnblogs.com/samwu/p/2433103.html
Copyright © 2011-2022 走看看