[英]Use AngularJS scope to Javascript
尝试在Javascript中访问我的AngularJS作用域变量。 我可以使用{{ gettickeritems.dates }}
访问html中的那些值,但是我想在数据/标签中使用它们(而不是当前的{!! $dates !!}
)
html + Javascript:
<div ng-app="app">
<div ng-controller="gettickersCtrl">
<div class="row">
<div class="col-sm-offset-1 col-sm-10">
<div><canvas id="myChart" width="600" height="600"></canvas></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.4.0/Chart.min.js"></script>
<script>
var ctx = document.getElementById('myChart').getContext('2d');
var chart = new Chart(ctx, {
type: 'line',
data: {
labels: {!! $dates !!} , // <-- How to access gettickeritems.dates here?
datasets: [{
label: 'Amount ' ,
data: {!! $prices !!}
}]
});
</script>
</div>
</div>
{{ gettickeritems.dates }} <!-- This works -->
</div> <!-- ng-controller -->
</div> <!-- ng-app -->
AngularJS:
var app = angular.module('gettickers',[]);
app.controller('gettickersCtrl', ['$scope', '$http', '$location', function($scope, $http, $location){
var urlapigettickers = $location.protocol() + "://" + $location.host() + "/api/gettickers" ;
$http.get(urlapigettickers).success(function(data, status, headers, config) {
$scope.gettickeritems = data.gettickers;
}).error(function(data, status, headers, config) {
console.log("No data found..");
});
}]);
您可以通过以下代码使用它,
<script>
var ctx = document.getElementById('myChart').getContext('2d');
var chart = new Chart(ctx, {
type: 'line',
data: {
labels: angular.element(document.querySelector('[ng-controller="gettickersCtrl"]')).scope().gettickeritems.dates ,
datasets: [{
label: 'Amount ' ,
data: angular.element(document.querySelector('[ng-controller="gettickersCtrl"]')).scope().gettickeritems.prices
}]
});
</script>
您可以通过以下链接了解更多信息: https : //coderwall.com/p/smkwhg/access-scope-outside-of-angularjs
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.