首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将div动态添加到容器angular 6

在Angular 6中将div动态添加到容器可以通过以下步骤实现:

  1. 首先,在组件的HTML模板中创建一个容器元素,例如一个div元素,用于承载动态添加的div。给该容器元素添加一个标识,例如给div元素添加一个id属性。
代码语言:txt
复制
<div id="container"></div>
  1. 在组件的TypeScript文件中,使用ViewChild装饰器来获取容器元素的引用。在组件类中声明一个ViewChild变量,并使用选择器指定要获取的元素。
代码语言:txt
复制
import { Component, ViewChild, ElementRef } from '@angular/core';

@Component({
  selector: 'app-your-component',
  templateUrl: './your-component.component.html',
  styleUrls: ['./your-component.component.css']
})
export class YourComponent {
  @ViewChild('container', { static: true }) container: ElementRef;
}
  1. 在需要动态添加div的地方,使用Renderer2来创建一个新的div元素,并设置其属性和内容。然后使用Renderer2的appendChild方法将新创建的div元素添加到容器中。
代码语言:txt
复制
import { Component, ViewChild, ElementRef, Renderer2 } from '@angular/core';

@Component({
  selector: 'app-your-component',
  templateUrl: './your-component.component.html',
  styleUrls: ['./your-component.component.css']
})
export class YourComponent {
  @ViewChild('container', { static: true }) container: ElementRef;

  constructor(private renderer: Renderer2) {}

  addDynamicDiv() {
    const newDiv = this.renderer.createElement('div');
    this.renderer.setAttribute(newDiv, 'class', 'dynamic-div');
    this.renderer.appendChild(newDiv, this.renderer.createText('Dynamic Div Content'));
    this.renderer.appendChild(this.container.nativeElement, newDiv);
  }
}

在上述代码中,我们使用Renderer2的createElement方法创建一个新的div元素,并使用setAttribute方法设置其class属性和createText方法创建文本内容。然后使用appendChild方法将新创建的div元素添加到容器中。

  1. 最后,在组件的HTML模板中添加一个按钮或其他触发事件的元素,并绑定到组件中的addDynamicDiv方法。
代码语言:txt
复制
<button (click)="addDynamicDiv()">Add Dynamic Div</button>

这样,当点击按钮时,就会动态地将一个新的div添加到容器中。

请注意,以上代码仅为示例,实际应用中可能需要根据具体需求进行适当的修改和调整。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 如何HTML字符转换为DOM节点并动态添加到文档中

    HTML字符转换为DOM节点并动态添加到文档中 字符串动态转换为DOM节点,在开发中经常遇到,尤其在模板引擎中更是不可或缺的技术。...字符串转换为DOM节点本身并不难,本篇文章主要涉及两个主题: 1 字符串转换为HTML DOM节点的基本方法及性能测试 2 动态生成的DOM节点添加到文档中的方法及性能测试 本文的示例:...,动态生成一个包含该文本的div,返回该Node。...下面我们看看生成的DOM元素动态添加到文档中的方法。 1.2.0 批量添加节点 被动态创建出来的节点大多数情况都是要添加到文档中,显示出来的。下面我们来介绍并对比几种常用的方案。...下面我们利用该对象来作为临时容器,一次性添加多个节点。

    7.5K20

    Angular4记账webApp练手项目之三(在angular4项目中使用路由router)

    menu.component.html如下: routerLink 是路由地址,routerLinkActive的作用是,当 a 元素对应的路由处于激活状态时,weui-bar__item_on类将会自动添加到...class="weui-tabbar__label">统计 app.component.html 修改如下: router-outlet为路由内容呈现的容器... 可以看出存在问题,进入时没有默认页面,必须点击后才会到对应页面,可以路由中#改为空,可以实现默认进入记账页面...不够后面我们用动态绑定class的方法来代替routerLinkActive。 ? 这里写图片描述 二级路由(子路由使用) 我们当初设计统计有两个页面,按年统计,和按月统计。现在来完成这个。...> 这里我们没有用到routerLinkActive,现在我们用动态样式来实现 ?

    1.4K30

    前端MVC学习总结(一)——MVC概要与angular概要、模板与数据绑定

    的构造方法,或者指定何时去调用 1.7、定义AngularJS模块 AngularJS模块是一种容器、它把代码隔离并组织成简单、整洁、可复用的块。...angular.module(name,[requires],[configFn]); name:模块名称,必须指定 requires:依赖项,要被添加到注入器服务提供这个模块使用的模块名的数组,如果需要另一个模块的功能...ngClass指令允许你动态设置HTML元素的CSS类,通过绑定到一个包含要添加的所有类的表达式。 ...in array15){ console.log(i+"="+array15[i]); //此处的i是下标 } 结果: 4.3、添加元素 一个或多个新元素添加到数组未尾...[itemN ]]]]); 一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组新长度 arrayObj.unshift([item1 [item2 [. . .

    15.3K100

    前端MVC学习总结(一)——MVC概要与angular概要、模板与数据绑定

    的构造方法,或者指定何时去调用 1.7、定义AngularJS模块 AngularJS模块是一种容器、它把代码隔离并组织成简单、整洁、可复用的块。...angular.module(name,[requires],[configFn]); name:模块名称,必须指定 requires:依赖项,要被添加到注入器服务提供这个模块使用的模块名的数组,如果需要另一个模块的功能...ngClass指令允许你动态设置HTML元素的CSS类,通过绑定到一个包含要添加的所有类的表达式。 ...4.3、添加元素 一个或多个新元素添加到数组未尾,并返回数组新长度 arrayObj. push([item1 [item2 [. . ....[itemN ]]]]); 一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组新长度 arrayObj.unshift([item1 [item2 [. . .

    12.6K30

    Angular Elements 及其工作原理

    Angular Elements 提供一种更简洁、对开发者更友善、更快乐地开发动态组件的方式 —— 在幕后它基于同样的机制(指创建动态组件),但隐藏了许多样板代码。...所以,要让我们的 Angular 动态组件能够正常工作(需要 componentFactory 能够被编译),我们需要将 HelloComponent 添加到 NgModule 的 entryComponents...: 初始化我们的 Angular 组件(就如创建动态组件那样) 设置组件的初始 input 值 在渲染组件时,触发脏检查机制 最后, HostView 增加到 ApplicationRef 如下是实战代码...通过在 Angular 中使用动态组件,我们简单实现了 Angular Elements 所提供的基础功能,重要的是,没有使用 @angular/element 这个库。...下次我们阐述 Angular Elements 通过 Custom Events 输出事件。

    2.4K20

    AngularDart 4.0 高级-结构指令 顶

    Angular这个符号解析成一个围绕宿主元素及其后代的标记。 每个结构指令都与该模板有所不同。...您将尝试*ngFor和*ngIf放在同一宿主元素上。 Angular不会允许。 您仅可以一个结构指令应用于宿主元素。 原因是简单。 结构指令可以用宿主元素及其后代完成复杂的事情。...这个用例有一个简单的解决方案:*ngIf放在包裹*ngFor元素的容器元素上。 一个或两个元素可以是一个temple,所以你不必引入额外的HTML级别。...{{hero.name}} 如果没有宿主元素,通常可以内容包装在本机HTML容器元素(如)中,然后将该指令附加到该容器...{{hero.name}} 引入另一个容器元素(通常是或)元素组归入单个根元素通常是无害的。

    16.1K20

    Angular和Vue.js 深度对比

    6. 基于 HTML 模板的语法 Vue 允许开发者直接渲染的 DOM 绑定到底层的Vue实例数据上。...Angular动态框架 Angular 是一个功能齐全的框架,支持 Model-View-Controller 编程结构,非常适合构建动态的单页网络应用程序。...6. Deep Linking 由于 Angular 主要用于制作单页应用程序,因此必须利用 Deep Linking 功能才能在同一页面上加载子模板。...开发人员认为这两个框架对于项目来说都很棒,但开发者中的大多数人更喜欢使用 Vue,因为当 Vuex 添加到项目中时,Vue 更加简单并且可以很好地扩展 。...早期版本为 Angular 1和2,没有 Angular 3。Angular 的第5版于2017年11月发布。第6版预计将于2018年3月发布,第7版预计将于2018年9月/ 10月发布。

    3.8K10

    Angular教程】组件动效u002F动态组件u002F视图封装模式

    前言: 这一篇我们一起来了解一下和组件相关的其他几个概念,上手开发Angular的项目还是难免遇到了很多的坑,工作之余的话也准备整理一下。希望可以坚持吧,初识Angular,不当之处还请指正。...和两个按钮来模拟 <div [@flyIn]="isIn ?...前面两篇涉及到的组件都是通过标签的形式来使用的,当然也是使用频率最多的一种方式,但在Angular中还给我们提供了另外一种组件的使用方式,通过ts代码来动态组合组件 动态的组件也需要我们在父组件中提供一块区域...: 看这块代码像不像React中创建Ref // 看这块代码像不像React中创建Ref @ViewChild('container', { read:...ngAfterContentInit(): void { const comp = this.resolver.resolveComponentFactory(HelloWorldComponent); // 工厂解析后的组件载入到预定义的容器

    91240

    【17】进大厂必须掌握的面试题-50个Angular面试

    这些表达式用于应用程序数据绑定到HTML 语法:{{expression}} 6. Angular中的模板是什么? Angular中的模板是使用包含特定于Angular的元素和属性的HTML编写的。...这些模板与来自模型和控制器的信息结合在一起,进一步渲染这些信息以向用户提供动态视图。 7. 在Angular中,什么是字符串插值?...25.什么是Angular模块? 所有Angular应用程序都是模块化的,并遵循称为NgModules的模块化系统。这些容器保存着专门用于应用程序域,工作流或一组紧密相关的功能的内聚代码块。...为了在Angular应用程序中执行动画,您需要包括一个称为Animate Library的特殊Angular库,然后ngAnimate模块引用到您的应用程序中,或者ngAnimate作为依赖项添加到您的应用程序模块内部...自动引导程序:这是通过ng-app指令添加到应用程序的根目录来完成的,通常是在标记或标记上(如果您希望angular自动引导应用程序)。

    41.3K51
    领券