将angularJs变量传递给javascript变量
我有一个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
<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变量,我刚刚解决了他面临的问题。就这个问题而言,我的回答是正确的。没有必要否决它。