【发布时间】: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