我定义了以下javascript变量,需要将 memId 值传递给AngularJs init函数。
<script type="text/javascript">
var memId = "bb7de28f-0f89-4f14-8575-d494203acec7";
</script>
<div id="content-header" class="mini" ng-init="getMember(memId)">
我收到错误: memId 未定义。
控制台显示ng-init内的 memId 值未传入。
如何将javascript变量传入ng-init?
答案 0 :(得分:10)
您需要使用$window
:
var app = angular.module('myapp', []);
app.controller('MainCtrl', ['$scope', '$window', function($scope, $window) {
$scope.memId = $window.memId;
}]);
答案 1 :(得分:4)
目前,您的变量与窗口对象有关。您可以使用Angular $window来访问全局窗口对象
// Your Global Variable defined outside angular
var memId = "bb7de28f-0f89-4f14-8575-d494203acec7";
//Define Module
var app = angular.module('myapp', []);
//Define Controller
app.controller('MyCtrl', ['$scope', '$window',
function($scope, $window) {
$scope.memId = $window.memId;
}
]);
答案 2 :(得分:0)
对于角度2,您可以使用以下内容实现此目的:
在你的jQuery应用程序中,声明一个变量并将其分配给window对象: window.glb =“这是全球性的”。 在您的角度应用程序中,在组件声明之前的任何位置添加以下行: 声明var窗口:any; 然后在ngOnInit中,您可以访问全局变量,如下所示: window.parent。