将angularJs变量传递给javascript变量

将angularJs变量传递给javascript变量,javascript,angularjs,angularjs-scope,Javascript,Angularjs,Angularjs Scope,我有一个Angularjs变量,我想传入javascript变量。 我找到了解决办法 所以它不起作用。我的代码: <script> var demo=angular.module('demo', []); demo.controller('metrics', function($scope, $http) { $http.get('http://localhost:8080/metrics').then(function(response) { $scope.me

我有一个Angularjs变量,我想传入javascript变量。 我找到了解决办法 所以它不起作用。我的代码:

<script>
var demo=angular.module('demo', []);
demo.controller('metrics', function($scope, $http) {
$http.get('http://localhost:8080/metrics').then(function(response) 
    {
     $scope.metrics = response.data;            
    });
    });
</script>

<div ng-controller="metrics">
<p>{{metrics}}<p>
</div>
<script>
var e = angular.element(document.querySelector('[ng-controller="metrics"]')); 
var e1 = e.scope().metrics ; 
alert(e1)   
</script>

var demo=angular.module('demo',[]);
controller('metrics',function($scope,$http){
$http.get('http://localhost:8080/metrics,然后(函数(响应)
{
$scope.metrics=response.data;
});
});
{{metrics}}
var e=angular.element(document.querySelector('[ng controller=“metrics”]');
var e1=e.scope().度量;
警报(e1)
我从{{metrics}}得到结果,但是e1没有返回任何内容
感谢您的帮助。

angular.element()是angular中用于获取原始DOM的函数

如果要获取特定的
,请在其上指定id属性

使用该原始DOM,您可以添加属性、添加类或其他()

但是,如果您想使用
度量值
做一些事情,那么在从
$http
获取度量值后,只需使用
$scope.metrics

<div ng-controller="metricsCtrl">
  <p id="metric">{{metrics}}<p>
</div>

<script>
  var demo=angular.module('demo', []);
  demo.controller('metricsCtrl', function($scope, $http) {
  $http.get('http://localhost:8080/metrics').then(function(response) 
      {
       $scope.metrics = response.data;

       // you can do whatever with $scope.metrics here
       console.log($scope.metrics);

      });
  var e = angular.element(document.querySelector('#metric'));
  console.log(e);
  e.addClass('some-class');     // here p will be <p class="some-class" id="metric">{{metrics}}<p>
  });
</script>

{{metrics}} var demo=angular.module('demo',[]); controller('metricsCtrl',函数($scope,$http){ $http.get('http://localhost:8080/metrics,然后(函数(响应) { $scope.metrics=response.data; //您可以在此处使用$scope.metrics执行任何操作 log($scope.metrics); }); var e=angular.element(document.querySelector(“#metric”); 控制台日志(e); e、 addClass('some-class');//这里p将是

{{metrics} });


根据当前代码,在执行
JS
代码时,它将不包含
度量数据

JS
代码应该写在API调用的
然后
响应中

如果这样做,
JS
代码将在
metrics
获取值后调用

var demo=angular.module('demo', []);
demo.controller('metrics', function($scope, $http) {
   $http.get('http://localhost:8080/metrics').then(function(response) 
    {
       $scope.metrics = response.data;            
       var e = angular.element(document.querySelector('[ng-controller="metrics"]')); 
       var e1 = e.scope().metrics ; 
       alert(e1);
    });
});

你的问题是时机<代码>$scope.metrics
的填充时间将比您尝试获取它的时间晚很多。不管怎么说,像这样戳着角形动物的内脏是个坏主意;您应该在那里对Javascript进行角度化;你到底想做什么?当然,这实际上并不是“将值传递给Javascript”;由于您在回调中进行工作,因此完全不需要使用
document.querySelector
等等来进行歌舞,只要
alert(response.data)
就可以了。@deceze,提问者只是试图将结果传递到
javascript变量
。我知道结果是直接的。但是,由于他急于使用Javascript传递给js变量,我刚刚解决了他面临的问题。就这个问题而言,我的回答是正确的。没有必要否决它。