我目前正在尝试将trNgGrid集成到我的角度应用程序中,遗憾的是,它无法将控制器中的函数绑定到行上的ng-click
,因为它构建了表体本身。相反,文档告诉我,$watch
上的数组必须$scope
才能进行更改。我得到了$scope
的概念,但是当使用typescript和ControllerAs
语法时,很少需要使用它。所以我的问题是:$scope
上有什么结果?我怎么看(正确的方式)?
考虑以下控制器:
export class DummyViewModel {
private iAmPrivate : number;
public iAmPublic: number;
constructor($scope : any) {
$scope.amIOnTheScope = "??";
}
}
所以... iAmPrivate
上是$scope
?那么iAmPublic
呢?我可以使用iAmPublic
观看$scope.$watch("iAmPublic",...
吗?如果我使用vm.iAmPublic
从视图访问控制器的公共成员,我在哪里完全绑定到? $scope
或秘密控制人纳尼亚?
答案 0 :(得分:0)
$ scope的结果是什么?我如何看待它(正确的方式)?
如果您有DummyViewModel as vm
,那么$scope.vm
就是DummyViewModel
的实例
要观察范围内的某些内容,您只需执行以下操作:
$scope.$watch(()=>this.someMember,(val)=>{
// Use new val
});
当然,深度观察有第三个boolean
参数,您可以自己探索$scope.$watchCollection
。