Angular2 小贴士 Name

简介: Angular2 正式版已经发布了一个月了,我也是通过各种方式在进行验证是否可以满足我们的需求,今天我就发现了一个问题。现在我们来一起说明一下,这个可能不算是bug,而应该需要我们记住就可以了。 我们现在需要对标题赋值,动态改变标题。

Angular2 正式版已经发布了一个月了,我也是通过各种方式在进行验证是否可以满足我们的需求,今天我就发现了一个问题。现在我们来一起说明一下,这个可能不算是bug,而应该需要我们记住就可以了。

我们现在需要对标题赋值,动态改变标题。不废话,直接上代码。

App.module.ts 代码

 1 import { NgModule, enableProdMode } from '@angular/core';
 2 import { BrowserModule, Title } from '@angular/platform-browser';
 3 import { AppComponent } from './app.component';
 4 import{InputTextModule}from 'primeng/primeng';
 5 import{FormsModule}from '@angular/forms';
 6 
 7 enableProdMode()
 8 @NgModule({
 9     imports: [BrowserModule,InputTextModule,FormsModule],
10     declarations: [AppComponent],
11     bootstrap: [AppComponent],
12     providers: [Title]
13 })
14 export class AppModule {
15 
16 }

 

app.component.ts 代码

 1 import { Component, OnInit, enableProdMode } from '@angular/core';
 2 import { Title } from '@angular/platform-browser';
 3 
 4 @Component({
 5     moduleId: module.id,
 6     selector: 'my-app',
 7     templateUrl: "./app.component.html"
 8 })
 9 
10 export class AppComponent  {
11     name: string;
12     constructor(private title: Title) { }
13     myClick() {
14         console.log("guozhqi" + name);
15         this.title.setTitle(name);
16     }
17    
18 }

app.component.html

1    <input type="text" [(ngModel)]="name">
2    <button (click)="myClick()">{{name}}</button>
3    {{name}}

 

运行效果图:

 

问题来了,我们的标题目前是一堆和xml类型的标签,我输入的内容不见了?

我们把app.component.ts 代码改变一下,

 1 import { Component, OnInit, enableProdMode } from '@angular/core';
 2 import { Title } from '@angular/platform-browser';
 3 
 4 @Component({
 5     moduleId: module.id,
 6     selector: 'my-app',
 7     templateUrl: "./app.component.html"
 8 })
 9 
10 export class AppComponent  {
11     name: string;
12     constructor(private title: Title) { }
13     myClick() {
14         console.log("guozhqi" +this. name);
15         this.title.setTitle(this.name);
16     }
17    
18 }

 

请对比区别,我们输出的内容Name加上了this.name ,这样就可以正确的获取到结果。

总结:

  1. 任何时候在方法中使用变量,都要加上this
  2. app.component.ts中的变量name,如果不加this指定,获取的是什么值呢?期待你得回答
  3. 写入标题使用依赖注入Title的setTitle方法

小贴士:Name需要我们注意,this记得要加上

 

我又回来了,回到了技术最前线,
相关文章
|
8月前
|
人工智能 API 语音技术
HarmonyOS Next~鸿蒙AI功能开发:Core Speech Kit与Core Vision Kit的技术解析与实践
本文深入解析鸿蒙操作系统(HarmonyOS)中的Core Speech Kit与Core Vision Kit,探讨其在AI功能开发中的核心能力与实践方法。Core Speech Kit聚焦语音交互,提供语音识别、合成等功能,支持多场景应用;Core Vision Kit专注视觉处理,涵盖人脸检测、OCR等技术。文章还分析了两者的协同应用及生态发展趋势,展望未来AI技术与鸿蒙系统结合带来的智能交互新阶段。
520 31
|
10月前
|
存储 Java 数据库
windows server2016搭建AD域服务器
windows server2016搭建AD域服务器
622 72
|
9月前
|
机器学习/深度学习 计算机视觉
《深度剖析:残差连接如何攻克深度卷积神经网络的梯度与退化难题》
残差连接通过引入“短路”连接,解决了深度卷积神经网络(CNN)中随层数增加而出现的梯度消失和退化问题。它使网络学习输入与输出之间的残差,而非直接映射,从而加速训练、提高性能,并允许网络学习更复杂的特征。这一设计显著提升了深度学习在图像识别等领域的应用效果。
407 13
|
11月前
|
机器学习/深度学习 人工智能 Linux
SAM 2.1:Meta 开源的图像和视频分割,支持实时视频处理
SAM 2.1是由Meta(Facebook的母公司)推出的先进视觉分割模型,专为图像和视频处理设计。该模型基于Transformer架构和流式记忆设计,实现了实时视频处理,并引入了数据增强技术,提升了对视觉相似物体和小物体的识别能力。SAM 2.1的主要功能包括图像和视频分割、实时视频处理、用户交互式分割、多对象跟踪以及改进的遮挡处理能力。
823 6
SAM 2.1:Meta 开源的图像和视频分割,支持实时视频处理
|
存储 安全 Java
springboot当中ConfigurationProperties注解作用跟数据库存入有啥区别
`@ConfigurationProperties`注解和数据库存储配置信息各有优劣,适用于不同的应用场景。`@ConfigurationProperties`提供了类型安全和模块化的配置管理方式,适合静态和简单配置。而数据库存储配置信息提供了动态更新和集中管理的能力,适合需要频繁变化和集中管理的配置需求。在实际项目中,可以根据具体需求选择合适的配置管理方式,或者结合使用这两种方式,实现灵活高效的配置管理。
169 0
|
Go 数据库
sync.Once-保证运行期间的某段代码只会执行一次
sync.Once-保证运行期间的某段代码只会执行一次
198 0
|
机器学习/深度学习
UPC - 2022春混合个人训练赛第五场 D Seahorse Shoes(贪心+模拟)
UPC - 2022春混合个人训练赛第五场 D Seahorse Shoes(贪心+模拟)
220 0
|
XML IDE 开发工具
Eclispse 换主题、皮肤、配色,换黑色主题护眼
Eclispse 换主题、皮肤、配色,换黑色主题护眼
427 1
|
存储 Java 计算机视觉
java 之byte
当涉及到处理数据时,Java 提供了多种数据类型,其中包括 `byte` 类型。在本文中,我们将深入探讨 Java 中的 `byte` 数据类型,了解它的特点、用途以及在编程中的实际应用。
|
Dubbo 应用服务中间件 测试技术
带你读《Apache Dubbo微服务开发从入门到精通》——二、 API配置(上)
带你读《Apache Dubbo微服务开发从入门到精通》——二、 API配置(上)
157 35