Dojo   发布时间:2022-04-21  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了dojo data 接口详解大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

dojo/data

  • 主要定义了dojo/data的接口结构,以及最基本的几个util

1. dojo/data/api

  • 定义接口结构

1.1. Read.js

1.1.1. 依赖

dojo.require("dojo.data.api.request");

1.1.2. 成员函数

getValue: function(   /* item */ item,/* attribute-name-String */ attribute,/* value? */ DefaultValuE)
  • 摘要
    • 返回一个单独的属性
    • 当且仅当item中不存在attribute属性时,返回DefaultValue设置的值
    • 当且仅当item中的attirebute值为空时,返回null
    • 如果item中没有attribute属性,且没有指定DefaultValue,则返回undefined
  • 描述:如果 store.hasAttribute(item,attributE) 返回 false,则 store.getValue(item,attributE) 将返回undefined
  • 异常:当item并不是item类型,或attribute不是字符串时,抛出异常。
  • 例:

    var darthVader = store.getValue(lukeSkywalker,"father");

getValues: function(/* item */ item,/* attribute-name-String */ attributE)
  • 摘要
    • 与getValue函数类似,只是返回的为数组
    • 如果item并不含有那个属性的值,则返回为 [],也就是说,如果如果 store.hasAttribute(item,attributE) 返回 false,则 store.getValues(item,attributE) 将返回 []
  • 例:

    var friendsOfLuke = store.getValues(lukeSkywalker,"friends");

getAttributes: function(/* item */ item)
  • 摘要
    • 返回那个item所包含的所有属性的数组
    • 如果item没有任何属性,也会返回一个数组:[]
  • 例:

    var array = store.getAttributes(kermit);

hasAttribute: function( /* item */ item,/* attribute-name-String */ attributE)
  • 摘要:如果item中包含指定的attribute属性,则返回true,否则返回false
  • 例:

    var trueOrfalse = store.hasAttribute(kermit,"color");

containsValue: function(/* item */ item,/* anything */ value)
  • 摘要:如果value的值是那个item使用getValues()所返回的值数组中的一个,则这个函数返回true
  • 例:

    var trueOrfalse = store.containsValue(kermit,"color","green");

isItem: function(/* anything */ something)
  • 摘要: 如果somethind是一个item并且是从指定的store对象实例化而来的,就返回true,否则返回false
  • 例:

    var yes = store.isItem(store.newItem());

    var no = store.isItem("green");

isItemLoaded: function(/* anything */ something)
  • 摘要
    • 如果isItem(something)返回false的话,本函数就返回false
    • 如果isItem(something)返回true,但这个item还没有被完全载入内存(比如没有完全从服务器去回来),本函数就返回false
  • 例:

    var yes = store.isItemLoaded(store.newItem());

    var no = store.isItemLoaded("green");

loadItem: function(/* object */ keywordArgs)
  • 摘要
    • 用于载入item,之后的isItemLoaded()函数才能返回true
    • 如果在loadItem()调用之前,先调用isItemLoaded()并且该函数返回true,则loadItem()不需要做任何事情,而且也不会再调用载入数据的回调函数。所以调用loadItem()之前,要先检查是否已经载入过那个item了。
  • keywordArgs:
    • item: Object,必要
    • onItem: Function(item),item载入完成之后要执行的回调函数
    • onError: Function(error),发生错误调用函数
    • scope: Object,如果指定了这个参数,则上面的回调函数中的this将指向这个对象,否则,指向dojo.global()
fetch: function(/* Object */ keywordArgs)
  • 摘要: 给定查询query,以及一些预定义的选项,比如返回item的start和count,这个函数就会自动执行查询,并把返回结果作为数据items返回。
  • 描述:
    • 每次都会返回(并立即返回)一个request对象
    • 最简单的request,就是传入给fetch的keywordargs参数,以及一个附加的函数 abort()。
    • 返回的这个request对象,可以在后面用来取消fetch()
    • 所有返回的数据项以及在回调函数中传递的数据,都在fetch的参数中定义,而且并不会出现request对象里。
    • 更多信息参见 dojo.data.api.request
  • keywordsArgs:
    • query: query-String or query-object,
    • queryOptions: object,
    • onBegin: Function,
    • onItem: Function,
    • onComplete: Function,
    • onError: Function,
    • scope: object,
    • start: int
    • count: int
    • sort: array
getFeatures: function()
  • 摘要
    • 返回这个接口实现的特性
    • 可能是如下'dojo.data.api.Read','dojo.data.api.Write','dojo.data.api.Identity',and 'dojo.data.api.Attribution'
close: function(/*dojo.data.api.request || keywordArgs || null */ request)
getLabel: function(/* item */ item)
  • 摘要:返回item所含有的标签的人类可读形式信息,比如一个person条目的getLabel结果会是:"firstname lastname"
getLabelAttributes: function(/* item */ item)

1.2. Write.js

1.2.1. 依赖

dojo.require("dojo.data.api.Read");

1.2.2 成员函数

getFeatures: function()
  • 同data.Read.getFeatuers()
newItem: function(/* Object? */ keywordArgs,/*Object?*/ parenTinfo)
  • 摘要
  • parenTinfo: 可选的,定义当前创建的item的父节点
    • parent: someItem
    • attribute: "attribute-name-String"
  • 例:

    var kermit = store.newItem({name: "Kermit",color:[blue,green]});

deleteItem: function(/* item */ item)
SETVALue: function(     /* item */ item,/* String */ attribute,/* almost anything */ value)
SETVALues: function(/* item */ item,/* array */ values)
unsetAttribute: function(       /* item */ item,/* String */ attributE)
save: function(/* object */ keywordArgs)
  • 摘要
    • 将所有修改保存到服务器上
    • 运行结果会被传入save所支持的一系列回调函数
  • keywordsArgs
    • onComplete: function()
    • onError: function(errorData)
    • scope: object
  • 例:

    store.save({onComplete: onSavE});

    store.save({scope: fooObj,onComplete: onSave,onError: saveFailed});

revert: function()
isDirty: function(/* item? */ item)
  • 摘要
    • 如果该item在最后一次save()之后被修改过,则返回true
    • 如果没有传入item,则返回整个store对象,若其中任何一个item在最后一次save()之后被修改过,就返回ture
  • 例:

    var trueOrfalse = store.isDirty(kermit); // true if kermit is dirty

    var trueOrfalse = store.isDirty(); // true if any item is dirty

1.3. Identity.js (ToBeConTinued)

1.4. Notification.js (ToBeConTinued)

1.5. request.js (ToBeConTinued)

2. dojo/data/util

2.1. filter.js

dojo.data.util.filter.patternToRegExp = function(/*String*/pattern,/*Boolean?*/ ignoreCasE)

2.2. simpleFetch.js (ToBeConTinued)

2.3. sorter.js (ToBeConTinued)

大佬总结

以上是大佬教程为你收集整理的dojo data 接口详解全部内容,希望文章能够帮你解决dojo data 接口详解所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。