【问题标题】:$scope binding to array of null values AngularJs$scope 绑定到空值数组AngularJs
【发布时间】:2015-01-11 15:13:23
【问题描述】:

我是 AngularJs 的新手,无法解决如何将控制器中的 $scope 绑定到一个二维 json 数组,该数组有一些具有空值的字段,因为每当我尝试绑定它时,控制台都会抛出一个错误,说“ TypeError: 无法读取属性 'valueOf' of null"

这是我想要完成的:

 $scope.posts = [
    {title: 'post1', upvotes: null},
    {title: null, upvotes: 4},
    {title: null,    upvotes: 8},
    {title: 'post4', upvotes: null},
    {title: 'post5', upvotes: 5}
];

但是如果我给出'post4'的upvotes值比如8,那么控制台不会给出错误,尽管仍有一些字段具有空值。

谁能告诉我错误在哪里以及如何将 $scope 与数组绑定,其中某些字段具有上述空值。

谢谢

编辑

在我的模板中找到了解决方案,我使用 orderBy 过滤器对具有空值的赞成票进行了过滤,这就是它抛出错误的原因。

【问题讨论】:

  • “将 $scope 与空值绑定”是什么意思?你能发布一个你正在尝试做什么的例子吗?像您所做的那样简单地定义一个数组是完全有效的......
  • 我有一个控制器 myApp.controller 并且我使用点运算符将变量 'posts' 绑定到 $scope 并且在我的视图中使用 ng-repeat 来显示他们的标题和 upvotes 但是当我检查我的控制台这个错误来了,因为我传递了一些空值..
  • 例如,如果我将每一行的 'upvotes' 字段设为空,那么这个错误就会出现,否则它可能不会出现,我的意思是,对于这个错误何时出现、关于什么参数等,它是不确定的。不确定这就是为什么在这里发布问题
  • 你最好把包含你的控制器/指令的html和js也贴出来
  • 你能举个例子吗? This 基于您发布的示例对我来说很好。

标签: javascript angularjs binding


【解决方案1】:

得到了解决方案,在我的模板中,我使用'orderBy'过滤器对具有空值的反对票进行过滤,因此它无法按空值排序。我删除了那个过滤器,控制台没有错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-22
    • 1970-01-01
    • 1970-01-01
    • 2017-05-08
    • 2015-12-01
    • 2016-12-12
    • 2016-09-30
    • 1970-01-01
    相关资源
    最近更新 更多