Lightning でカレンダーのすべての仕事を取得する方法が見つかりません。私は関数getItem()
とインターフェイス(ここgetItems()
)からの解決策だと思っていましたが、正しく動作させることができませんでした。calICalendar
2 に答える
2
あなたは正しい方向に進んでいます。やりたいフラグだけを渡す必要があります。例はここにあります。
以下の例でさらに詳しく説明するために、いくつかの構文エラーがあり、異なるフラグが必要になる場合があります。アラートが必要な理由がわかりません。イベントループがスピンされていないように聞こえます。これらのビットをどのようなコンテキストで呼んでいますか?
これを試して:
var arrayItems = new Array();
var todoListener = {
onOperationComplete: function(aCalendar, aStatus, aOperationType, aId, aDetail) {},
onGetResult: function(aCalendar, aStatus, aItemType, aDetail, aCount, aItems) {
arrayItems = arrayItems.concat(aItems);
}
};
var filter = aCalendar.ITEM_FILTER_TYPE_TODO | aCalendar.ITEM_FILTER_COMPLETED_ALL;
aCalendar.getItems(filter, 0, null, null, todoListener);
于 2011-07-11T19:32:16.727 に答える
1
あなたの例のおかげで、私の主な問題であるリスナーを実装する方法を理解しました。
だからここで私がコードするもの:
var arrayItem = new Array; ;
var todoListener =
{
onOperationComplete: function(aCalendar, aStatus, aOperationType, aId, aDetail) {},
onGetResult: function(aCalendar, aStatus, aItemType, aDetail, aCount, aItems)
{
for (let i=0; i < aCount; i++)
{
arrayItem.push(aItems[i]);
}
}
};
var filter = aCalendar.ITEM_FILTER_ALL_ITEMS;
filter |= aCalendar.ITEM_FILTER_TYPE_TODO;
aCalendar.getItems(filter, 0, null, null, todoListener);
しかし、私はここで本当に奇妙な問題を抱えています。実際、このコードでは todos を取得できません。alert("something");
arrayItem をいっぱいにするために、getItems() メソッドの後に追加する必要があります。それ以外の場合は空です。
于 2011-07-13T02:42:27.653 に答える