簡體   English   中英

用於將文本添加到 p 標簽的角度切換按鈕

[英]Angular toggle button to add text to p tag

我有一個切換按鈕,單擊該按鈕時應將文本“暗”添加到

標簽。 再次單擊時應替換為“Light”。 最初不應該有任何東西。假設使用`

    @Component({
      selector: 'darkmode-toggler',
     template: `<div>
                <button>Toggle dark mode</button>
                <p></p>
                </div>`,
                styles: []
                })
         export class DarkModeToggler { }
     @Component({
     selector: 'app-root',
      template: `<div>
     <darkmode-toggler (stateChanged)="handleStateChange($event)"> 
     </darkmode-toggler>
       </div>`,
        styles: []
         })
        export class Resource {  
        handleStateChange(event) {
        console.log(event);  
         }}

我不完全確定你想要什么(更好的描述會很棒),但我從你的回答中了解到你可以做這樣的事情:

@Component({
  selector: 'app-component',
  template: `
    <button (click)="toggleDarkMode()">Toggle dark mode</button>
    <p>{{isDarkMode ? 'dark' : 'light'}} mode</p>
  `
})
export class AppComponent {
  public isDarkMode = false;

  public toggleDarkMode(): void {
    this.isDarkMode = !this.isDarkMode;
  }
}

或者:

type Theme = 'dark' | 'light';

@Component({
  selector: 'app-component',
  template: `
    <button (click)="toggleDarkMode()">Toggle dark mode</button>
    <p>{{theme}} mode</p>
  `
})
export class AppComponent {
  public theme: Theme = 'light';

  public toggleDarkMode(): void {
    this.theme = this.theme === 'light' ? 'dark' : 'light';
  }
}

編輯

darkmode-toggler組件中,您可以執行上述操作來更改段落的文本。

然后使用@Output給它一個自定義事件。

如果我編輯您的示例,它將如下所示:

@Component({
  selector: 'darkmode-toggler',
  template: `
    <div>
      <button>Toggle dark mode</button>
      <p>{{isDarkMode ? 'dark' : 'light'}} mode</p>
    </div>
  `,
  styles: []
})
export class DarkModeToggler {
  @Output() stateChanged = new EventEmitter<boolean>();
  isDarkMode = false;

  public toggleDarkMode(): void {
    this.isDarkMode = !this.isDarkMode;
    this.stateChanged.emit(this.isDarkMode); // you emit a change here
  }
}

@Component({
  selector: 'app-root',
  template: `
    <div>
      <darkmode-toggler (stateChanged)="handleStateChange($event)"> 
      </darkmode-toggler>
    </div>
  `,
  styles: []
})
export class Resource {  
  handleStateChange(event) {
    console.log(event); // since I made a EventEmitter<boolean>() and I'm emitting the isDarkMode variable's value it'll be true or false
  }
}

添加一個<p>標記到</p><div>在 Angular</div><div id="text_translate"><p> 這是我的 html 代碼:</p><pre> &lt;div id="gameboard"&gt; &lt;/div&gt;</pre><p> 這是我在 .ts 文件中的代碼</p><pre>document.getElementById('gameboard')?.append('&lt;p&gt;Hello&lt;/p&gt;')</pre><p> 使用此代碼,我想將&lt;p&gt;標簽添加到我的&lt;div id="gameboard"&gt; 。 單擊按鈕時,應執行此代碼的所有內容。 但不知何故什么也沒發生</p></div>

[英]Adding a <p> tag to a <div> in Angular

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM