在 .ASPX 文件中定义 rootscope 变量
Define rootscope variable in an .ASPX file
我正在尝试在 .ASPX 文件中定义一个 AngularJS rootscope 变量以在 TypeScript 文件中使用,但我不确定如何执行此操作。我愿意接受能够在 .ASPX 文件中定义值并在 TypeScript 中使用它的任何方式,因此任何其他建议都对我有用。
如果你只需要告诉 TypeScript 属性 在那里,你可以扩展 rootScope 接口:
interface extendedRootScope extends ng.IRootScopeService {
myProp: number;
}
然后当你在控制器中注入 $rootScope
时,输入它作为你的新界面:
export class MyController {
constructor(private $rootScope: extendedRootScope) { }
someMethod() {
// Access this.$rootScope.myProp
}
}
如果您需要从 Angular 世界之外(例如在您的 ASPX 页面中)访问 $rootScope
以添加 属性,您可以这样做:
<script>
var injector = angular.element('[ng-app]').injector();
var $rootScope = injector.get('$rootScope');
$rootScope.myProp = 1;
</script>
这假设您正在使用 ng-app
来初始化您的 Angular 应用程序。
同样,您可以在脚本标记中即时创建一个 Angular 服务,将 $rootScope
注入该服务,并向其添加属性。
我正在尝试在 .ASPX 文件中定义一个 AngularJS rootscope 变量以在 TypeScript 文件中使用,但我不确定如何执行此操作。我愿意接受能够在 .ASPX 文件中定义值并在 TypeScript 中使用它的任何方式,因此任何其他建议都对我有用。
如果你只需要告诉 TypeScript 属性 在那里,你可以扩展 rootScope 接口:
interface extendedRootScope extends ng.IRootScopeService {
myProp: number;
}
然后当你在控制器中注入 $rootScope
时,输入它作为你的新界面:
export class MyController {
constructor(private $rootScope: extendedRootScope) { }
someMethod() {
// Access this.$rootScope.myProp
}
}
如果您需要从 Angular 世界之外(例如在您的 ASPX 页面中)访问 $rootScope
以添加 属性,您可以这样做:
<script>
var injector = angular.element('[ng-app]').injector();
var $rootScope = injector.get('$rootScope');
$rootScope.myProp = 1;
</script>
这假设您正在使用 ng-app
来初始化您的 Angular 应用程序。
同样,您可以在脚本标记中即时创建一个 Angular 服务,将 $rootScope
注入该服务,并向其添加属性。