我可以避免使用 $scope 并让用户操作设置 AngularJS 脏位吗?
Can I avoid using $scope and have user actions set AngularJS dirty bit?
我在表单上有 table 设置(例如复选框),用户可以添加和删除 table 行。如果用户更改设置(例如,选中或取消选中复选框),则 theForm.$dirty
会被设置,但如果向 table 添加行或从中删除行,则不会设置。我在 https://plnkr.co/edit/sOXFnZjpkrcExvxGsEVg
有一个例子
我是一名相对较新的 Angular 开发人员,但有人提醒我,如果可以避免的话,参考 $scope
并不是最佳做法。我 认为 在这种情况下,我可以让控制器依赖 $scope
然后在修改 table 的函数中调用 $scope.theForm.$setDirty()
。我不确定这是我唯一的办法还是有更好的方法。
只需将表单放入控制器:
form name="vm.testForm"
但是控制器依赖作用域也没什么不好的。
我在表单上有 table 设置(例如复选框),用户可以添加和删除 table 行。如果用户更改设置(例如,选中或取消选中复选框),则 theForm.$dirty
会被设置,但如果向 table 添加行或从中删除行,则不会设置。我在 https://plnkr.co/edit/sOXFnZjpkrcExvxGsEVg
我是一名相对较新的 Angular 开发人员,但有人提醒我,如果可以避免的话,参考 $scope
并不是最佳做法。我 认为 在这种情况下,我可以让控制器依赖 $scope
然后在修改 table 的函数中调用 $scope.theForm.$setDirty()
。我不确定这是我唯一的办法还是有更好的方法。
只需将表单放入控制器:
form name="vm.testForm"
但是控制器依赖作用域也没什么不好的。