Asp.net 在.ASPX文件中定义rootscope变量
我试图在.ASPX文件中定义一个AngularJS rootscope变量,以便在TypeScript文件中使用,但我不确定如何执行此操作。我愿意以任何方式在.ASPX文件中定义一个值并在TypeScript中使用它,因此任何其他建议都适用于我。如果您只需要告诉TypeScript该属性存在,您可以扩展rootScope接口:Asp.net 在.ASPX文件中定义rootscope变量,asp.net,typescript,angularjs-rootscope,Asp.net,Typescript,Angularjs Rootscope,我试图在.ASPX文件中定义一个AngularJS rootscope变量,以便在TypeScript文件中使用,但我不确定如何执行此操作。我愿意以任何方式在.ASPX文件中定义一个值并在TypeScript中使用它,因此任何其他建议都适用于我。如果您只需要告诉TypeScript该属性存在,您可以扩展rootScope接口: interface extendedRootScope extends ng.IRootScopeService { myProp: number; } exp
interface extendedRootScope extends ng.IRootScopeService {
myProp: number;
}
export class MyController {
constructor(private $rootScope: extendedRootScope) { }
someMethod() {
// Access this.$rootScope.myProp
}
}
然后,在控制器中注入$rootScope
时,将其键入新接口:
interface extendedRootScope extends ng.IRootScopeService {
myProp: number;
}
export class MyController {
constructor(private $rootScope: extendedRootScope) { }
someMethod() {
// Access this.$rootScope.myProp
}
}
如果需要从角度世界之外(如在您的ASPX页面中)访问$rootScope
以添加属性,可以执行以下操作:
<script>
var injector = angular.element('[ng-app]').injector();
var $rootScope = injector.get('$rootScope');
$rootScope.myProp = 1;
</script>
var injector=angular.element('[ng app]').injector();
var$rootScope=injector.get(“$rootScope”);
$rootScope.myProp=1;
这假设您正在使用ng应用程序
初始化您的Angular应用程序
类似地,您可以在脚本标记中动态创建Angular服务,将
$rootScope
注入该服务,并向其添加属性。您是否已经可以访问.ASPX文件中的$rootScope
?谢谢,我使用了第二个建议,效果非常好!