在菜单项上绑定值,点击Angular2材质设计

Bind value on md-menu-item click Angular2 Material Design

本文关键字:Angular2 点击 菜单项 绑定      更新时间:2023-09-26

给定以下代码,我将如何在单击时分别将我选择的选项绑定到selectedOption.nameselectedOption.value ?

app.component.ts:

import { Component } from '@angular/core';
@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  options = [
    {
      name: 'test1',
      value: "This is test1's value"
    },
    {
      name: 'test2',
      value: "This is test2's value"
    },
    {
      name: 'test3',
      value: "This is test3's value"
    }
  ]
}

app.component.html:

<button md-icon-button [md-menu-trigger-for]="menu">
  <md-icon>comment</md-icon>
</button>
<md-menu #menu="mdMenu">
  <div *ngFor="let option of options">
    <button md-menu-item>{{option.name}}</button>
  </div>
</md-menu>
<h3>Your selected option: </h3>
<p>{{selectedOption.name}}: {{selectedOption.value}}</p>

您可以使用按钮上的点击事件来设置selectedOption:

<div *ngFor="let option of options">
  <button md-menu-item (click)="selectedOption = option">
    {{option.name}}
  </button>
</div>
<p>{{selectedOption?.name}}: {{selectedOption?.value}}</p>

注意? elvis操作符。当selectedOption还没有定义时,用来防止模板错误读取属性