当前位置: 首页 > 面试题库 >

JADE + EXPRESS:迭代内联JS代码中的对象(客户端)?

席银龙
2023-03-14
问题内容

我想基于其api实现Google地图。我想添加一个基于坐标的路径。因此,我从模型中获取了坐标,并希望在对象上进行迭代以用此点填充地图。在我的Jade模板中,我包含api
js代码,如下所示:

script(type='text/javascript')
    function initialize() {
      var myLatLng = new google.maps.LatLng(0, -180);
      var myOptions = {
        zoom: 3,
        center: myLatLng,
        mapTypeId: google.maps.MapTypeId.TERRAIN
      };

      var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
      var flightPlanCoordinates = [

       - if (typeof(pins) != null)
           - var.pins.forEach(function(pin) {
                new google.maps.LatLng(pin.latitude, pin.longitude),
           - })
           new google.maps.LatLng(0,0)
      ];
      var flightPath = new google.maps.Polyline({
        path: flightPlanCoordinates,
        strokeColor: "#FF0000",
        strokeOpacity: 1.0,
        strokeWeight: 2
      });

      flightPath.setMap(map);
    }

div#map_canvas(style='height: 500px; background-color: #990000;')

问题是:玉呈现此片段

var flightPlanCoordinates = [

       - if (typeof(pins) != null)
           - var.pins.forEach(function(pin) {
                new google.maps.LatLng(pin.latitude, pin.longitude),
           - })
           new google.maps.LatLng(0,0)
      ];

就像在jade模板源中一样…-如果不被解析!有任何想法吗?

谢谢!


问题答案:

整个脚本标签(在其下缩进的所有内容)将通过原始文件传递,而无需进一步解析。Jade不会HTML模板而不是HTML模板加上嵌套的javascript模板。要将pins变量从jade本地模板变量数据传递到脚本源代码,您必须执行其他方法,例如使用原始jade渲染一个小的脚本标签,该脚本标签仅initializepins数据作为文字来调用函数,或者粘贴pins数据进入dom的某个地方,然后从那里阅读。脚本标签下方的这些内容(伪代码,未经测试)

- if (typeof(pins) != null)
  != "<script type='text/javascript'>"
  != "var pins = [];"
  - forEach pin in pins
    != "pins.push(new Pin(" + pin.latitude + ", " + pin.longitude + "));"
  != "initialize(pins);"
  != "</script>"


 类似资料:
  • 问题内容: 我正在尝试使用JADE迭代JSON文档。 我的服务器(运行node.js + express)正在对.get()请求执行以下操作, 这就是它呈现给客户端的东西。 我已经阅读了有关迭代数组的jade文档,并且我认为对于JSON来说,它是相同的,但是它不起作用。它只是显示一个空白。当我尝试这个 它将显示JSON文档。但是当我尝试这个 并显示空白。应该显示的时间是“电视”。如果有人可以帮助我

  • 本文向大家介绍详解Python中的内建函数,可迭代对象,迭代器,包括了详解Python中的内建函数,可迭代对象,迭代器的使用技巧和注意事项,需要的朋友参考一下 Python中的内建函数和可迭代对象,迭代器 求值标识 id() #标识id 返回对象的唯一标识,CPython返回内存地址 hash() #哈希, 返回对象的哈希值 len(s) -->返回一个集合类型的元素个数 range(start,

  • 问题内容: 有没有一种方法来获取数组的迭代器?像这样: 问题答案: 您可以使用: 它只是将数组包装在列表实现中,以便您可以在其上调用方法。 请注意,这种方法仅适用于对象数组。对于原始数组,您将必须实现自己的迭代器(例如,使用匿名类)。 从Java 8开始,您还可以使用开箱即用的迭代器(并且如果是或,也可以使此代码进行编译: 尽管您将无法使用原始数据类型,并且因为没有相应的流实现。但是,您可以使用以

  • 使用SpringMVC和Thymeleaf,我正在构建一个包含一些javascript的html视图。 在页面中,th: each与迭代值一起使用,为一组按钮提供唯一的超文本标记语言id。 我的问题出现在尝试生成javascript时,该javascript将对每个按钮id使用jQuery引用。 在另一种视图解析语言中,我会使用代码: (以上可能不是100%语法正确,但我希望你明白——我试图做的是

  • 本文向大家介绍python生成器,可迭代对象,迭代器区别和联系,包括了python生成器,可迭代对象,迭代器区别和联系的使用技巧和注意事项,需要的朋友参考一下 生成器,可迭代对象,迭代器之间究竟是什么关系? 用一幅图来概括: 1.生成器 定义生成器 方式一: 方式二: 定义成功后,我们可以利用next()访问生成器下一个元素 但一般用for循环遍历 2.迭代器 任何实现了__iter__和__ne

  • 本文向大家介绍Markdown 内联代码,包括了Markdown 内联代码的使用技巧和注意事项,需要的朋友参考一下 示例 Markdown支持添加内联代码like this,该代码是通过将文本包装在反引号中获得的: `code here` 或者,您可以将内联代码放在<code>和</code>HTML标记之间。 考虑以下降价代码: 这将产生以下输出: This是内联代码块!This也是一个! 如果