我在main.ts文件中有一个名为rowTag
的全局变量作为Tag[]
实体的数组。
我有一个名为TagMeController.ts
文件的角度控制器
这是TagMeController
constructor($scope, $rootScope) {
$scope.CloseMe = this.CloseMe;
$scope.rowTags = rowTag;//rowTag global variable
$scope.colTags = colTag;//colTag global variable
$scope.UpdateMe = this.UpdateMe;
}
因此,当我从同一个控制器更新rowTag
对象时,它会更新UI上的相应元素,但是当我从另一个.ts(main.ts)
文件更新相同的对象时,事情没有被反映出来。
关于如何使变量可观察的任何想法?
答案 0 :(得分:3)
关于如何使变量可观察的任何想法
创建角度服务以包含该信息,
class Tags {
rowTags = []
colTags = []
}
然后使用该服务:
constructor($scope, $rootScope, tags: Tags) {
$scope.CloseMe = this.CloseMe;
$scope.tags = tags; // Tags service containing `rowTag` and `colTag`
$scope.UpdateMe = this.UpdateMe;
}
以下是使用TypeScript创建角度服务的视频:https://www.youtube.com/watch?v=Yis8m3BdnEM