剑道UI MVVM数据绑定与JayData



我对整个剑道UI都很陌生&&MVVM)。

我试图绑定一个下拉列表与本地数据库,它抛出了一个错误的行标记//<<<<<<<<

我在这里做错了什么?-我见过JayData上可用的示例,但它没有给出如何绑定本地db的清晰想法。

我的代码是这样的

 <div id="wrapper">
        <div id="NESTForm">
            <select data-role="dropdownlist" data-value-field="UserID" data-text-field="Name"
                data-bind="source: userSource">
            </select>

        </div>
    </div>
    <script>
        var userDB;
        $(document).ready(function () {

            $data.Entity.extend("Users",
            {
                UserID: { type: "int", key: true, required: true },
                Name: { type: "string", required: true }
            });

            $data.EntityContext.extend("EXAMPLEDB", {
                Users: { type: $data.EntitySet, elementType: Users }
            });
            userDB = new EXAMPLEDB({
                name: "webSql", databaseName: "EXMPLEDB",
                dbCreation: $data.storageProviders.DbCreationType.DropTableIfChange
            });

            var viewModel = kendo.observable({
                //Initial data  binders   ,
                userSource: userDB.Users.asKendoDataSource() //<<<<<< this throws error

            });
            // apply the bindings
            kendo.bind(document.body.children, viewModel);
        });
    </script>

错误是

Uncaught TypeError: Object function (a,b){var c=this,d,e;c.trigger(w,{field:a}),a==="this"?d=c:(e=O[a]=O[a]||n.getter(a,!0),d=e(c),b&&typeof d=="function"&&(d=d.call(c)));return d} has no method 'push' 

我在JayData论坛上发布了同样的问题,并弄清楚了。虽然我从Jaydata下载了这个包,但脚本文件很旧,社区建议我直接链接到SVN

上的脚本。

为了便于记录,上面的代码可以正常工作。

这里是社区回复

http://jaydata.org/forum/viewtopic.php?f=3& t = 174, sid = 2 ff7d9f37bf758a573c70a89fac507fb

我现在不能尝试,它看起来很好,除了你必须等待你的db准备好,像:

userDB.onReady(function() {
var viewModel = ...

相关内容

  • 没有找到相关文章

最新更新