【问题标题】:dojo : i want to change my type="dojo/connect" to "dojo/on or aspect or method"dojo:我想将我的 type="dojo/connect" 更改为 "dojo/on or aspect or method"
【发布时间】:2016-04-12 06:52:18
【问题描述】:

我正在使用 Dojo Toolkit。目前,我在代码中使用"dojo/data/ItemFileWriteStore", dojox.grid.DataGrid, type="dojo/connect"。顺便说一句,dojo/connect 将被弃用。

我正在尝试更改为最近的语法(例如“dojo/on 或方面或方法”。我不知道我必须使用哪个),但我无法修复我的旧代码。

这是一些代码。为了帮助你理解,我总结了我的代码。

<div data-dojo-type="dojo/data/ItemFileWriteStore" data-dojo-id="jsonStore_3" data-dojo-props="url:'test.do?businessId=${approvalProcess.businessId}'">
    <script type="dojo/connect" data-dojo-event="onNew" data-dojo-args="newItem">
        insertApprovalNotificationHandler(this,newItem);
    </script> 
</div>

<table data-dojo-type="dojox.grid.DataGrid"
                        data-dojo-id="grid_3" id="grid_3" 
                        store="jsonStore_3" 
                        query="{ recipientName: '*' }" 
                        rowsPerPage="20" rowSelector="20px"
                        region="center"
                        style="width: 100%;">
</table>

<script>
    var test = function() {
        jsonStore_3.newItem({sample1: 'aa', sample2:'bb'});        
    }

    var insertApprovalNotificationHandler = function (object,newItem){
        console.log("TEST");
    }
</script>

【问题讨论】:

  • dojox.grid.DataGrid已弃用。你真的应该使用它的继任者dgrid,它的用法接近DataGrid,但更容易使用,有很多优点。你可以在link 找到一些文档。然后你可以使用 dgrid 事件(或on() 方法)。
  • 谢谢您的评论。我已经开始浏览 dgrid 和 dgrid 的网站。但我在其他网站上找不到 dgrid 示例,而不是 dgrid 的网站。顺便说一句,您知道其他有很多关于 dgrid 的信息或示例的网站吗?

标签: dojo


【解决方案1】:

onNewdojo/data/ItemFileWriteStore 的方法,不是发出的事件,所以你必须使用aspect

这应该接近你所需要的:

<script type="dojo/aspect" data-dojo-advice="after" data-dojo-method="onNew" data-dojo-args="newItem">

【讨论】:

  • 谢谢!我曾经尝试过这种方法,但我仍然使用'data-dojo-event'。您的解决方案效果很好!谢谢
猜你喜欢
  • 2011-08-05
  • 1970-01-01
  • 2013-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多