当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript Renderer.dehydrateView方法代码示例

本文整理汇总了TypeScript中angular2/src/render/api.Renderer.dehydrateView方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Renderer.dehydrateView方法的具体用法?TypeScript Renderer.dehydrateView怎么用?TypeScript Renderer.dehydrateView使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在angular2/src/render/api.Renderer的用法示例。


在下文中一共展示了Renderer.dehydrateView方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: _viewDehydrateRecurse

  _viewDehydrateRecurse(view: viewModule.AppView, forceDestroyComponents) {
    this._utils.dehydrateView(view);
    this._renderer.dehydrateView(view.render);
    var binders = view.proto.elementBinders;
    for (var i = 0; i < binders.length; i++) {
      var componentView = view.componentChildViews[i];
      if (isPresent(componentView)) {
        if (binders[i].hasDynamicComponent() || forceDestroyComponents) {
          this._destroyComponentView(view, i, componentView);
        } else {
          this._viewDehydrateRecurse(componentView, false);
        }
      }
      var vc = view.viewContainers[i];
      if (isPresent(vc)) {
        for (var j = vc.views.length - 1; j >= 0; j--) {
          this._destroyViewInContainer(view, i, j);
        }
        for (var j = vc.freeViews.length - 1; j >= 0; j--) {
          this._destroyFreeEmbeddedView(view, i, j);
        }
      }
    }

    // freeHostViews
    for (var i = view.freeHostViews.length - 1; i >= 0; i--) {
      var hostView = view.freeHostViews[i];
      this._destroyFreeHostView(view, hostView);
    }
  }
开发者ID:B-Thapa,项目名称:angular,代码行数:30,代码来源:view_manager.ts

示例2: _handleRendererMessage

 private _handleRendererMessage(data: ReceivedMessage) {
   var args = data.args;
   switch (data.method) {
     case "createRootHostView":
     case "createView":
       this._createViewHelper(args, data.method);
       break;
     case "destroyView":
       var viewRef = this._serializer.deserialize(args[0], RenderViewRef);
       this._renderer.destroyView(viewRef);
       break;
     case "attachFragmentAfterFragment":
       var previousFragment = this._serializer.deserialize(args[0], RenderFragmentRef);
       var fragment = this._serializer.deserialize(args[1], RenderFragmentRef);
       this._renderer.attachFragmentAfterFragment(previousFragment, fragment);
       break;
     case "attachFragmentAfterElement":
       var element = this._serializer.deserialize(args[0], WebWorkerElementRef);
       var fragment = this._serializer.deserialize(args[1], RenderFragmentRef);
       this._renderer.attachFragmentAfterElement(element, fragment);
       break;
     case "detachFragment":
       var fragment = this._serializer.deserialize(args[0], RenderFragmentRef);
       this._renderer.detachFragment(fragment);
       break;
     case "hydrateView":
       var viewRef = this._serializer.deserialize(args[0], RenderViewRef);
       this._renderer.hydrateView(viewRef);
       break;
     case "dehydrateView":
       var viewRef = this._serializer.deserialize(args[0], RenderViewRef);
       this._renderer.dehydrateView(viewRef);
       break;
     case "setText":
       var viewRef = this._serializer.deserialize(args[0], RenderViewRef);
       var textNodeIndex = args[1];
       var text = args[2];
       this._renderer.setText(viewRef, textNodeIndex, text);
       break;
     case "setElementProperty":
       var elementRef = this._serializer.deserialize(args[0], WebWorkerElementRef);
       var propName = args[1];
       var propValue = args[2];
       this._renderer.setElementProperty(elementRef, propName, propValue);
       break;
     case "setElementAttribute":
       var elementRef = this._serializer.deserialize(args[0], WebWorkerElementRef);
       var attributeName = args[1];
       var attributeValue = args[2];
       this._renderer.setElementAttribute(elementRef, attributeName, attributeValue);
       break;
     case "setElementClass":
       var elementRef = this._serializer.deserialize(args[0], WebWorkerElementRef);
       var className = args[1];
       var isAdd = args[2];
       this._renderer.setElementClass(elementRef, className, isAdd);
       break;
     case "setElementStyle":
       var elementRef = this._serializer.deserialize(args[0], WebWorkerElementRef);
       var styleName = args[1];
       var styleValue = args[2];
       this._renderer.setElementStyle(elementRef, styleName, styleValue);
       break;
     case "invokeElementMethod":
       var elementRef = this._serializer.deserialize(args[0], WebWorkerElementRef);
       var methodName = args[1];
       var methodArgs = args[2];
       this._renderer.invokeElementMethod(elementRef, methodName, methodArgs);
       break;
     case "setEventDispatcher":
       var viewRef = this._serializer.deserialize(args[0], RenderViewRef);
       var dispatcher = new EventDispatcher(viewRef, this._bus.sink, this._serializer);
       this._renderer.setEventDispatcher(viewRef, dispatcher);
       break;
     default:
       throw new BaseException("Not Implemented");
   }
 }
开发者ID:goderbauer,项目名称:angular,代码行数:78,代码来源:impl.ts


注:本文中的angular2/src/render/api.Renderer.dehydrateView方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。