Angular 角度-如何在下拉菜单中选择值?
目标:我希望能够让用户在下拉列表中单击一个值,该值将根据选择更改他们所在站点的地址 问题:我能让它改变地址,但不管他们做了什么选择,它都能做到。我想让它去一个不同的地址为每个选择 因此,如果他们选择英语,我希望它可以访问site.com/en。如果他们选择西班牙语,我想把它放到site.com/es上 我尝试的是: 我尝试了这个解决方案,它的许多变体如下: 我还查阅了棱角材料文档,但对于本主题所需的所有内容都有点缺乏 为什么不承认具体的选择 HTML:Angular 角度-如何在下拉菜单中选择值?,angular,typescript,angular-material,Angular,Typescript,Angular Material,目标:我希望能够让用户在下拉列表中单击一个值,该值将根据选择更改他们所在站点的地址 问题:我能让它改变地址,但不管他们做了什么选择,它都能做到。我想让它去一个不同的地址为每个选择 因此,如果他们选择英语,我希望它可以访问site.com/en。如果他们选择西班牙语,我想把它放到site.com/es上 我尝试的是: 我尝试了这个解决方案,它的许多变体如下: 我还查阅了棱角材料文档,但对于本主题所需的所有内容都有点缺乏 为什么不承认具体的选择 HTML: 尝试移动您的选择更改为您的选择,而不是选项
尝试移动您的选择更改为您的选择,而不是选项:
<mat-form-field class="right">
<mat-select (selectionChange)="doSomething($event)">
<mat-option *ngFor="let language of languages" [value]="language.value" >
{{language.viewValue}}
</mat-option>
</mat-select>
</mat-form-field>
尝试移动您的选择更改为您的选择,而不是选项:
<mat-form-field class="right">
<mat-select (selectionChange)="doSomething($event)">
<mat-option *ngFor="let language of languages" [value]="language.value" >
{{language.viewValue}}
</mat-option>
</mat-select>
</mat-form-field>
或者您可以使用ngModel直接访问函数中的值
<mat-form-field class="fullwidth" required>
<mat-label>Select</mat-label>
<mat-select [(ngModel)]="selectedItem" (ngModelChange)="onSelectChange(selectedItem)">
<mat-option *ngFor="let obj of testArray" [value]="obj.value">
{{obj.name}}
</mat-option>
</mat-select>
</mat-form-field>
或者您可以使用ngModel直接访问函数中的值
<mat-form-field class="fullwidth" required>
<mat-label>Select</mat-label>
<mat-select [(ngModel)]="selectedItem" (ngModelChange)="onSelectChange(selectedItem)">
<mat-option *ngFor="let obj of testArray" [value]="obj.value">
{{obj.name}}
</mat-option>
</mat-select>
</mat-form-field>
也许你的导航应该是这个.routerService.navigate['/es'];。控制台中有错误吗?你好@R.Richards,谢谢。我有一些事情要解决的具体地址,但主要的问题是,实际上我不能得到的价值。控制台中没有错误。我放了控制台。日志,但他们没有被击中。一旦我尝试更改方法以检测值,它就不再工作了。这对您有帮助吗:。看起来selectionChange应该在mat select上,而不是mat选项。您的导航可能应该是this.routerService.navigate['/es'];。控制台中有错误吗?你好@R.Richards,谢谢。我有一些事情要解决的具体地址,但主要的问题是,实际上我不能得到的价值。控制台中没有错误。我放了控制台。日志,但他们没有被击中。一旦我尝试更改方法以检测值,它就不再工作了。这对您有帮助吗:。看起来selectionChange应该在mat select上,而不是mat选项上
onSelectChange(value) {
//if value selected is spanish
if(value == "es")
this.routerService.navigate(['es/']);
}