Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 在.ASPX文件中定义rootscope变量_Asp.net_Typescript_Angularjs Rootscope - Fatal编程技术网

Asp.net 在.ASPX文件中定义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

我试图在.ASPX文件中定义一个AngularJS rootscope变量,以便在TypeScript文件中使用,但我不确定如何执行此操作。我愿意以任何方式在.ASPX文件中定义一个值并在TypeScript中使用它,因此任何其他建议都适用于我。

如果您只需要告诉TypeScript该属性存在,您可以扩展rootScope接口:

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
?谢谢,我使用了第二个建议,效果非常好!