I have the following javascript variable defined and need to pass the memId value into AngularJs init function.
<script type="text/javascript">
var memId = "bb7de28f-0f89-4f14-8575-d494203acec7";
</script>
<div id="content-header" class="mini" ng-init="getMember(memId)">
I am getting an error : memId is not defined.
Console shows the memId value inside ng-init is not getting passed in.
How can I pass in the javascript variable into ng-init?
You need to do it in the "angular" way by using $window
:
var app = angular.module('myapp', []);
app.controller('MainCtrl', ['$scope', '$window', function($scope, $window) {
$scope.memId = $window.memId;
}]);
Currently Your variables are bounded to window object. You can use Angular $window to access global window object
// 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;
}
]);
For angular 2, you can achieve this by using below:
In your jQuery app, declare a variable and assign it to window object: window.glb = "This is global". In your angular app, add the below line anywhere before your component declaration: declare var window: any; Then in your ngOnInit, you can access the global variable as below: window.parent.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.