基本的jaydata初始化

时间:2016-05-05 05:41:29

标签: javascript jquery database jaydata

我对jaydata有一个基本问题。我的代码:

jQuery(document).ready(function(){

  $data.Entity.extend("Todo", {

     Id: { type: "int", key: true, computed: true },
     Task: { type: String, required: true, maxLength: 200 },
     DueDate: { type: Date },
     Completed: { type: Boolean }
  });

  $data.EntityContext.extend("TodoDatabase", {

     Todos: { type: $data.EntitySet, elementType: Todo }
  });

  var todoDB = new TodoDatabase({
     provider: 'indexedDb', databaseName: 'MyTodoDatabase'
  });

  todoDB.onReady(function() {
     //Work with todoDB now
  });

});

我得到一个错误,因为行中的变量 Todo

Todos:{type:$ data.EntitySet,elementType: Todo }

未定义。例如,当我用字符串替换 Todo TodoDatabase 排成一行:

  var todoDB = new TodoDatabase ({
     provider: 'indexedDb', databaseName: 'MyTodoDatabase'
  });

未定义/没有构造函数。所以我不明白 “Todo”和Todo的差异,也不是“TodoDatabase”和“TodoDatabase”之间的差异 TodoDatabase。请帮助我不知道如何正确使用这个系统。

谢谢

1 个答案:

答案 0 :(得分:0)

JayData 1.4.x +版本经过优化,可以使用更少的全局对象。有两个选项可以使示例使用这些新的JayData版本:

选项1:使用变量定义您的实体:



var Todo = $data.Entity.extend("Todo", {
 Id: { type: "int", key: true, computed: true },
 Task: { type: String, required: true, maxLength: 200 },
 DueDate: { type: Date },
 Completed: { type: Boolean }
});




选项2:使用兼容性脚本 您可以使用this script通过全局变量

来使用实体定义