【问题标题】:ui-router ui-grid gridApi undefinedui-router ui-grid gridApi 未定义
【发布时间】:2015-06-12 19:46:32
【问题描述】:

我有一个控制器来初始化我的ui-gridgridOptions。在没有ui-router 的情况下工作时,数据加载完美(现在来自 json 文件)。我得到他们 $http.get('...').success().

我使用了ui-router 并且一切正常,期待包含ui-grid 的模板。

我收到错误:

TypeError: Cannot read property 'data' of undefined". the error occurs in ui-grid.js on line 2705 
if (angular.isString($scope.uiGrid.data)) {...

这是未定义的 uiGrid 对象。我尝试在$state 中使用 Resolve,并且我的虚拟数据已正确加载到控制器中,但不幸的是问题仍然存在。希望你能帮我解决这个问题。

我在 plunkr 上添加了一个演示。 http://plnkr.co/edit/FzsxLDNGRWQrpGUKNHBa?p=preview 如果切换到第二个视图,您将看到一个空的 ui-grid。 Chrome 开发者工具报告 TypeError。 希望这有助于解决它。非常感谢您的回答。

【问题讨论】:

  • 没有任何代码就无法回答这个问题。请查看stackoverflow.com/help/how-to-ask 并附上您的错误产生的代码。
  • 同意之前的评论。需要一些代码和更好的工作/非工作演示来调试和回答您的问题。也就是说,您的网格似乎正在寻找尚不存在的数据。看看 ui-router 中的 resolve 属性:github.com/angular-ui/ui-router/wiki#resolve.

标签: angularjs angular-ui-router angular-ui-grid


【解决方案1】:

你的 plunker 几乎可以工作了。您只需要修复 view2 控制器的大小写。

改变:

controller: 'view2Controller',

controller: 'View2Controller',

多田:)

PS:当您使用 $inject 时,您需要将其作为控制器的实际函数对象的属性提供。如果你要最小化这段代码,它就会崩溃。

【讨论】:

    猜你喜欢
    • 2019-11-15
    • 2015-08-24
    • 1970-01-01
    • 2018-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-18
    相关资源
    最近更新 更多