【问题标题】:angular 2: Permission denied to access property "rejection" error角度2:访问属性“拒绝”错误的权限被拒绝
【发布时间】: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


【解决方案1】:

我删除了 OnInit 并停止了错误

【讨论】:

    猜你喜欢
    • 2015-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-24
    • 1970-01-01
    相关资源
    最近更新 更多