【发布时间】:2016-12-02 17:12:02
【问题描述】:
以前有人问过这个问题,但我认为我的情况不太适合。
我从英雄教程开始,并将“添加英雄”代码更改为表单。我确实意识到,从控制器的角度来看,将它作为单独的组件和 html 会更好。这很好。
但是当我运行当前页面(表单加上一个ngFor的循环)时,表单显示了但是英雄列表却没有。在浏览器控制台中,我可以看到 get 工作并以 JSON 格式返回正确的记录,但随后我得到了
访问属性“拒绝”的权限被拒绝
用谷歌搜索后,我似乎正在访问我没有权限的东西,例如在不同的域中。设置是通过 grails 应用程序访问数据并通过 ng-serve 运行 Angular。我唯一可能遇到权限问题的地方(?!?)是数据访问,并且有效。
<div>
<form [formGroup]="form" (ngSubmit)="onSubmitAdd()">
<p>
<label>Hero name:</label>
<input type="text" formControlName="heroName">
</p>
<p>
<label>Hero city:</label>
<input type="text" formControlName="heroCity">
</p>
<p> Hero Abilities </p>
<p>
<label>Flight:</label>
<input type="checkbox" formControlName="heroFlight">
</p>
<p>
<button type="submit" [disabled]="!form.valid">Submit</button>
</p>
</form>
</div>
<ul class="heroes">
<li *ngFor="let hero of heroes" (click)="onSelect(hero)" [class.selected]="hero === selectedHero">
<span class="badge">{{hero.id}}</span> {{hero.name}}
<button class="delete" (click)="delete(hero); $event.stopPropagation()">x</button>
</li>
</ul>
因此,即使当前的方法不是最好的方法,我也想知道是什么导致了错误。
有人有什么想法吗?
【问题讨论】:
-
我看到它提到导入
Observable修复它。 -
添加了“从 'rxjs/Observable' 导入 {Observable};”到组件代码并没有改变 - 同样的问题。英雄列表没有出现。
-
所以我不知道这是否对你有帮助,但我有同样的错误信息。经过一番修修补补,我发现将 moment()-object 分配给变量会导致问题。进一步的研究表明,我忘记将时刻脚本添加到我的 index.html 中。在我添加这些之后,它工作正常。也许其他人有相同或类似的情况,这对他们有帮助。也许这样的事情甚至是你的问题?!
-
@MerlinK - 谢谢。你能给出一个代码示例,因为我不确定矩对象是什么。
-
@John - 哦,当然,对不起。 MomentJS 是第三方库。为了使用它,您创建时刻对象,即
var date = moment();
标签: angular