AngularJs将变量传递给<script>

时间:2017-06-17 12:25:03

标签: javascript angularjs

我使用AngularJs并在部分Google API中使用。&#xA;我需要确定控制器内的标记位置。

&#xA;&#xA;

我尝试通过$ scope传递变量($ scope.lat&amp; $ scope.lon)但没有成功。我该怎么办?

&#xA;&#xA;

我的&lt; script&gt; 部分内部:

&#xA;&#xA;
 &lt; script&gt;&#xA; var marker;&#xA;&#xA; function myMap(){&#xA; var myLatlng = new google.maps.LatLng({{lon}},{{lat}});&#xA; var mapOptions = {&#xA; zoom:16,&#xA;中心:myLatlng&#xA; }&#XA; var map = new google.maps.Map(document.getElementById(“googleMap”),mapOptions);&#xA;&#xA; var marker = new google.maps.Marker({&#xA; position:myLatlng,&#xA; title:“MyPos”&#xA;});&#xA; marker.setMap(地图);&#XA;}&#XA;&#XA;&LT; /脚本&GT; &#xA;&#xA;&lt; script src =“https://maps.googleapis.com/maps/api/js?key=KEY&callback=myMap”&gt;&lt; / script&gt;&#xA; < /代码> 
&#XA;

1 个答案:

答案 0 :(得分:0)

我认为最简单的方法是使用全局变量

  

窗口

HTML部分:

 <head>
    <meta charset="utf-8" />
    <title>AngularJS Plunker</title>
    <script>document.write('<base href="' + document.location + '" />');</script>
    <script>
      window.foo = function(){
          var test = true;
          return test;
      }
    </script>
    <link rel="stylesheet" href="style.css" />
    <script data-require="angular.js@1.5.x" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.11/angular.min.js" data-semver="1.5.11"></script>
    <script src="app.js"></script>
  </head>

角度部分:

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

app.controller('MainCtrl', function($window, $scope) {
    $scope.name = 'World';
    console.log($window.foo());
});

Plunker:

http://plnkr.co/edit/OEy5S243yFMSGhMsWnjE?p=preview

另一个解决方案是使用sessionStorage或localStorage。