您知道如何从我的sharepoint网站检索所有子网站并将其放入列表中吗?我以为我可以使用this.context.pageContext
来做,但我找不到它。对不起,如果我的问题看起来很明显,我是打字稿的新手。
答案 0 :(得分:0)
唉... 使用JSOM和TypeScript需要获取当前上下文,然后是网站集对象,并从那里获取AllWebs集合(包含Title属性)
var context = new SP.ClientContext.get_current();
var allWebs = context.get_site().get_allWebs();
context.load(allWebs, 'Include(Title)');
var list = new Array();
clientContext.executeQueryAsync(succeeded, failed);
function succeeded(sender, args) {
for (var i = 0; i < allWebs.get_count(); i++) {
var subWeb = webSubSites.itemAt(i);
array.push(subWeb.get_title());
}
}
function failed(sender, args) {
console.log(args);
}
这是普通的javascript,但如果你想从TypeScript中受益,可以使用nuget中的sharepoint.TypeScript.DefinitelyTyped
然后你可以将你的回调(成功,失败)定义为休闲:
function succeeded(sender: any, args: SP.ClientRequestSucceededEventArgs) {
// code here
}
function failed(sender: any, args: SP.ClientRequestFailedEventArgs) {
// code here
}