Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.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
将JavaScript变量传递到AngualrJs ng init_Javascript_Angularjs - Fatal编程技术网

将JavaScript变量传递到AngualrJs ng init

将JavaScript变量传递到AngualrJs ng init,javascript,angularjs,Javascript,Angularjs,我定义了以下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)"> var memId=“bb

我定义了以下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)">

var memId=“bb7de28f-0f89-4f14-8575-D4940203ACEC7”;
我收到一个错误:memId未定义

控制台显示未传入ng init中的memId


如何将javascript变量传入ng init?

当前,您的变量被绑定到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;
    }
]);
您需要使用
$window
以“角度”的方式执行此操作:

var app = angular.module('myapp', []);

app.controller('MainCtrl', ['$scope', '$window', function($scope, $window) {
  $scope.memId = $window.memId;
}]);

演示:

对于angular 2,您可以使用以下方法实现:

在jQuery应用程序中,声明一个变量并将其分配给window对象: window.glb=“这是全局的”。 在angular应用程序中,在组件声明之前的任意位置添加以下行: 声明变量窗口:任意; 然后在ngOnInit中,您可以访问全局变量,如下所示:
window.parent.

+1
ooooo我打字太慢了:-(@94岁的“沉默已经消失”就像是一个生命警报广告。@qwertynl如果这个变量需要时间加载,我们如何处理它,如果它没有加载,它将显示为未定义