Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度:维护集合/模型的不同表示形式_Javascript_Angularjs_Data Binding - Fatal编程技术网

Javascript 角度:维护集合/模型的不同表示形式

Javascript 角度:维护集合/模型的不同表示形式,javascript,angularjs,data-binding,Javascript,Angularjs,Data Binding,我有一个工厂费用,它封装了显示费用列表的逻辑。e、 g,我可能需要一份全面的清单,这个月发生的费用清单,只有收入费用,甚至是弗洛查茨格式的代表 在费用工厂中,我有一个公开的列表属性,我在控制器中向其添加新对象。我还有incomers()函数,用于过滤列表数组中的正值记录 问题是如何使用$scope为所有表示正确启用数据绑定 对我有效的方法是在控制器中设置$scope.incoments=Expense.incoments(其中Expense.incoments是一个过滤函数,返回数组),并在视图

我有一个工厂
费用
,它封装了显示费用列表的逻辑。e、 g,我可能需要一份全面的清单,这个月发生的费用清单,只有收入费用,甚至是弗洛查茨格式的代表

费用
工厂中,我有一个公开的
列表
属性,我在控制器中向其添加新对象。我还有
incomers()
函数,用于过滤
列表
数组中的正值记录

问题是如何使用
$scope
为所有表示正确启用数据绑定


对我有效的方法是在控制器中设置
$scope.incoments=Expense.incoments
(其中
Expense.incoments
是一个过滤函数,返回数组),并在视图中设置
ng repeat=“income in incomes()”
。这是正确的方法吗?或者我应该将
$scope.incoments
作为数组而不是函数,并在基础
列表更新时在控制器中手动更新它?使用函数方法时,我无法将
incoments
设置为
ng model
的值,这是我要对绘图指令执行的操作

对于过滤,最好使用过滤器。如果您有一个数组并将其分配给
$scope.array=Expense.array若在不同的位置修改该列表,它将反映在模板中。因此,我认为最好的选择是使用
ng repeat=“列表中的项目| Income”
。谢谢,我也朝着这个方向考虑了!但过滤器将在全球范围内可用,这是我不想要的(只有费用可以通过收入过滤!),但我可以接受。但使用过滤器时,我无法使我的指令正常工作:我曾经在DOM元素上设置ng模型,并在该模型上添加$scope.watch,但我无法将过滤值设置为模型,对吗?我想要的基本上是,能够访问指令中的值,但我不确定如何实现这一点。如果这还不清楚,我可以用更多信息更新这个问题。库比奇:我发布了一个新问题来解决这个问题:。