在md-menu-item上绑定值单击Angular2 Material Design

mpa*_*ace 2 javascript material-design angular

鉴于以下代码,我将如何绑定单击我选择的选项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"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

sca*_*rlz 6

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

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

<p>{{selectedOption?.name}}: {{selectedOption?.value}}</p>
Run Code Online (Sandbox Code Playgroud)

请注意?elvis运营商.这用于防止模板错误在selectedOption尚未定义时读取属性.