Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Angular 2/Ionic 2中访问表单中的选定对象属性_Javascript_Angular_Ionic2 - Fatal编程技术网

Javascript 在Angular 2/Ionic 2中访问表单中的选定对象属性

Javascript 在Angular 2/Ionic 2中访问表单中的选定对象属性,javascript,angular,ionic2,Javascript,Angular,Ionic2,我在@Page中几乎没有select输入,除了存储所选选项的值,如{project.title},我还需要返回另一个所选对象属性,如{{project.id}或整个对象 如果我使用for ex.(change)='DoThing($event),它只返回带有project.title的字符串。我不能把{{object.id}},它会生成运行时错误 我使用的代码: <ion-item> <ion-label>Project</ion-label>

我在
@Page
中几乎没有select输入,除了存储所选选项的值,如
{project.title}
,我还需要返回另一个所选对象属性,如
{{project.id}
或整个对象

如果我使用for ex.
(change)='DoThing($event)
,它只返回带有
project.title
的字符串。我不能把
{{object.id}}
,它会生成运行时错误

我使用的代码:

<ion-item>
   <ion-label>Project</ion-label>
       <ion-select [(ngModel)]="newTrackedTime.project" (change)='DoThing()'>
           <ion-option *ngFor='#project of myProjects' value="{{project.title}}">{{project.title}}</ion-option>
       </ion-select>
</ion-item>

项目
{{project.title}

我相信这应该是可行的,但在查阅了一些ANG2表单教程之后,我不清楚如何做到这一点。谢谢

您不能从外部引用由
*ngFor
创建的项目

您可以使用从
$event
获取的
project.title
myProjects
中查找项目。我想最好将
id
分配给
value

value="{{project.id}}"
然后从
$event
获取
项目.id

<ion-item>
   <ion-label>Project</ion-label>
       <ion-select [(ngModel)]="newTrackedTime.project" (change)='DoThing($event)'>
           <ion-option *ngFor='#project of myProjects' value="{{project.id}}">{{project.title}}</ion-option>
       </ion-select>
</ion-item>

您不能从外部引用由
*ngFor
创建的项目

您可以使用从
$event
获取的
project.title
myProjects
中查找项目。我想最好将
id
分配给
value

value="{{project.id}}"
然后从
$event
获取
项目.id

<ion-item>
   <ion-label>Project</ion-label>
       <ion-select [(ngModel)]="newTrackedTime.project" (change)='DoThing($event)'>
           <ion-option *ngFor='#project of myProjects' value="{{project.id}}">{{project.title}}</ion-option>
       </ion-select>
</ion-item>

您可以尝试以下方法:

<ion-select [(ngModel)]="newTrackedTime.project" (change)='DoThing()'>
  <ion-option *ngFor='#project of myProjects' 
    [attr.value]="project.title">{{project.title}}</ion-option>
</ion-select>

但是
project
仅在选项中的
ngFor
级别可用。

您可以尝试以下操作:

<ion-select [(ngModel)]="newTrackedTime.project" (change)='DoThing()'>
  <ion-option *ngFor='#project of myProjects' 
    [attr.value]="project.title">{{project.title}}</ion-option>
</ion-select>

但是
project
仅在选项中的
ngFor
级别可用…

为您的
离子选择一个名称
并将其传递给
DoThing()



您将获得整个select DOM对象,您可以探索其子对象以找到选中的对象及其属性

为您的
离子选择
命名并将其传递给
DoThing()



您将获得整个select DOM对象,您可以探索其子对象以找到选中的对象及其属性

错误消息是什么?@ThierryTemplier:When我将{project.id}放入(change)='DoThing():
browser_adapter.ts:73异常:错误:未捕获(承诺中):模板解析错误:解析器错误:获取插值({{})其中表达式应位于中的[DoThing({{project.id}}])的第8列ModalAddtimePage@14:57(“em>Project](change)='DoThing({{Project.id}})>错误消息是什么?@ThierryTemplier:当我将{{Project.id}}放入(change)时,='DoThing()':
browser_adapter.ts:73异常:错误:未捕获(承诺中):模板解析错误:解析器错误:在中的[DoThing({{project.id}}])的第8列中获得了插值({{}}),其中表达式应位于第8列ModalAddtimePage@14:57(“em>Project](change)='DoThing({{Project.id}})“>这是一个有点复杂的解决方案,但无论如何谢谢!这是一个有点复杂的解决方案,但无论如何谢谢!谢谢你解释那个错误,我希望有翻译:)谢谢你解释那个错误,我希望有翻译:)