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,但我无法将过滤值设置为模型,对吗?我想要的基本上是,能够访问指令中的值,但我不确定如何实现这一点。如果这还不清楚,我可以用更多信息更新这个问题。库比奇:我发布了一个新问题来解决这个问题:。