當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript lang.isString函數代碼示例

本文整理匯總了TypeScript中@angular/facade/src/lang.isString函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript isString函數的具體用法?TypeScript isString怎麽用?TypeScript isString使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了isString函數的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: link

export function link(segment: RouteSegment, routeTree: RouteTree, urlTree: UrlTree,
                     change: any[]): UrlTree {
  if (change.length === 0) return urlTree;

  let startingNode;
  let normalizedChange;

  if (isString(change[0]) && change[0].startsWith("./")) {
    normalizedChange = ["/", change[0].substring(2)].concat(change.slice(1));
    startingNode = _findStartingNode(_findUrlSegment(segment, routeTree), rootNode(urlTree));

  } else if (isString(change[0]) && change.length === 1 && change[0] == "/") {
    normalizedChange = change;
    startingNode = rootNode(urlTree);

  } else if (isString(change[0]) && !change[0].startsWith("/")) {
    normalizedChange = ["/"].concat(change);
    startingNode = _findStartingNode(_findUrlSegment(segment, routeTree), rootNode(urlTree));

  } else {
    normalizedChange = ["/"].concat(change);
    startingNode = rootNode(urlTree);
  }

  let updated = _update(startingNode, normalizedChange);
  let newRoot = _constructNewTree(rootNode(urlTree), startingNode, updated);

  return new UrlTree(newRoot);
}
開發者ID:davewragg,項目名稱:angular,代碼行數:29,代碼來源:link.ts

示例2: _update

function _update(node: TreeNode<UrlSegment>, changes: any[]): TreeNode<UrlSegment> {
  let rest = changes.slice(1);
  let outlet = _outlet(changes);
  let segment = _segment(changes);
  if (isString(segment) && segment[0] == "/") segment = segment.substring(1);

  // reach the end of the tree => create new tree nodes.
  if (isBlank(node)) {
    let urlSegment = new UrlSegment(segment, null, outlet);
    let children = rest.length === 0 ? [] : [_update(null, rest)];
    return new TreeNode<UrlSegment>(urlSegment, children);

    // different outlet => preserve the subtree
  } else if (outlet != node.value.outlet) {
    return node;

    // same outlet => modify the subtree
  } else {
    let urlSegment = isStringMap(segment) ? new UrlSegment(null, segment, null) :
                                            new UrlSegment(segment, null, outlet);
    if (rest.length === 0) {
      return new TreeNode<UrlSegment>(urlSegment, []);
    }

    return new TreeNode<UrlSegment>(urlSegment,
                                    _updateMany(ListWrapper.clone(node.children), rest));
  }
}
開發者ID:davewragg,項目名稱:angular,代碼行數:28,代碼來源:link.ts

示例3: _outlet

function _outlet(changes: any[]): string {
  if (!isString(changes[0])) return null;
  let parts = changes[0].toString().split(":");
  return parts.length > 1 ? parts[0] : null;
}
開發者ID:davewragg,項目名稱:angular,代碼行數:5,代碼來源:link.ts

示例4: _segment

function _segment(changes: any[]): any {
  if (!isString(changes[0])) return changes[0];
  let parts = changes[0].toString().split(":");
  return parts.length > 1 ? parts[1] : changes[0];
}
開發者ID:davewragg,項目名稱:angular,代碼行數:5,代碼來源:link.ts


注:本文中的@angular/facade/src/lang.isString函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。