我真的是dojo的新手但是当我开始使用dojo版本1.7.2开发新的应用程序时,我也想使用新的AMD语法来实现功能.不幸的是我似乎没有得到它.:-(
让我最烦的是我不能简单地调用任何"require"-block中的函数.例如,我有一个页面,在开始时创建一个动态表,每行有几个小部件.然后我有一个按钮,每按一次就会添加一个空行.
没有AMD语法就很容易:
- 把我所有的"dojo.require()"放在HEAD中
- 然后创建一堆我自己的函数来创建表和小部件
- 添加行函数可以轻松访问任何全局变量我以前的功能填写了
但对于AMD来说,它是这样的:
初始函数创建表和小部件:
function fillReportTable(repId) {
require(["dojo/dom-construct", "dojo/dom-attr", "dijit/form/FilteringSelect",
"dojo/data/ItemFileReadStore", "dijit/form/ComboBox", "dijit/form/DateTextBox", "dijit/form/Select", "dojo/store/Memory"],
function (domConstruct, domAttr, FilteringSelect, ItemFileReadStore, ComboBox, DateTextBox, Select, Memory) {
// a lot of code to create the table, consisting of SEVERAL functions
function createNewRow(tbl) { ...}
function function1 () {... }
function function2 () {... }
function function3 () {... }
}
Run Code Online (Sandbox Code Playgroud)
现在,"添加空行"按钮调用自己的函数"addEmptyRow".
但是在这个函数中我必须:
- 再次为每个dojo模块做一个其他的需求
- 我不能使用任何"fillReportTable"函数"内部"的函数.例如"createNewRow"函数
function addEmptyRow() {
require(["dojo/dom-construct", "dojo/dom-attr", "dijit/form/FilteringSelect",
"dojo/data/ItemFileReadStore", "dijit/form/ComboBox", "dijit/form/DateTextBox", …
Run Code Online (Sandbox Code Playgroud) 我是KML的新手,这应该很简单,但我无法弄清楚。
在我的KML中,我定义了几种样式,可以使用styleUrl标签轻松地将它们分配给特定的地标。我的样式仅在背景颜色上有所不同,但它们还包含一个相当复杂的“ BalloonStyle”,这对所有样式都是相同的。现在,我不想将相同的Ballonstyle复制到我拥有的每种样式中,并增加KML的大小。
我需要为地标分配两种样式,就像我在CSS中所做的那样:
<styleUrl>#greenArea #myBalloonStyle</styleUrl>
Run Code Online (Sandbox Code Playgroud)
<styleUrl>#redArea #myBalloonStyle</styleUrl>
或在我的样式中写一些它从第二种样式“继承”其气球样式的内容。
先感谢您
我是DoJo开发的新手,所以这可能是基本的.
我创建了一个EnhancedDatagrid,它显示数据正常.
数据来自不同页面中的JSON存储.
我有一个按钮,导致在数据存储区中创建一个新条目,然后我的数据网格被"刷新".这很好用.
但现在我只想作为改变数据网格中第一行样式的最后一步.(我需要让新添加的行更加可见.)
但我根本无法弄清楚如何在数据网格中的第一行获取句柄.
... grid = new dojox.grid.EnhancedGrid({
id:strId,
store:store,
structure:layout,
},document.createElement('div'));
dojo.byId(占位符).appendChild(grid.domNode);
grid.startup();
var row = grid.getItem(0); // ---获得第一行.怎么样 ?以及如何应用新风格?
...
提前谢谢你.
我有一个Dojo 1.8的工作图表.
chart1 = new dojox.charting.Chart2D("chart1");
chart1.addPlot("default", {type: "Lines", ...
chart1.addSeries("Series A", [{ x: 1, y: 2.3, tooltip: "Value 1"}, ...
Run Code Online (Sandbox Code Playgroud)
我的系列数据正确显示为行,整行(系列)的颜色为"绿色".我知道如何更改整个系列的颜色,但是这条线可能会根据数据值改变颜色吗?让我们假设x轴是一个时间轴,我需要线(系列)为绿色直到今天,然后红色为未来值.这有可能吗?怎么样?(我正在使用值的标记.如果这些值可以根据值改变就足够了)
我在文档中发现了类似的东西:
chart.addSeries("Series A", [
{y: 4, color: "red"},
{y: 2, color: "green"},
{y: 1, color: "blue"},
{y: 1, text: "Other", **color: "white", fontColor: "red"**}
]);
Run Code Online (Sandbox Code Playgroud)
但它仅适用于PIE图表而不适用于LINES图表.
先感谢您.