2015-10-06 188 views
-2

我的问题与此相关。 Pass JavaScript variable into AngualrJs ng-init将Javascript变量传递给Angularjs控制器

这是要求传递一个单独的javascript变量传递给角度控制器。有人可以让我知道如何将一个脚本的几个变量传递给控制器​​而不是一个变量?

+1

在另一个问题中解释了传递变量的方法。它适用于单个或多个变量。 –

+0

首先,不要使用ng-init,这不是它的目的。其次,你为什么试图首先从角度处理变量? – Claies

+0

@ Claies-页面有JavaScript代码,我们现在想用angular来代替jquery。所以我想只是将javascript变量传递给控制器​​,并让控制器处理特定的模型.... – Ayesha

回答

7

假设你的变量没有任何特殊的范围......

window.var1 = true; 
var var2 = "foo"; 
var3 = {foo: "bar"}; 

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

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

基本上从链接的问题复制粘贴。 Pass JavaScript variable into AngualrJs ng-init

+0

谢谢sg.cc .... – Ayesha

+0

没问题。为什么你没有将我的答案标记为已接受? –

+1

错字。干得好。 :) – Ayesha

3

完全相同的方式。在控制器上注入$ window服务,角度模式外的所有变量将通过以下方式提供给控制器:

$scope.ControllerVariable = $window.ScriptVariable 
+0

你能告诉我我是否也可以做其他的事情吗?如果我想将角度变量传递给JavaScript变量? – Ayesha

+0

简单。在我尝试之后,绝对已经得到了答案。只需扭转它。 – Ayesha

+0

实际上,所有'$ scope.var'变量都可以在HTML中通过'{{var}}'表达式在标签内使用指令'ng-controller'获得。 –