有没有办法访问Elm页面之外的元素

时间:2019-06-15 19:13:00

标签: php elm

前一段时间,我在浏览一些旧代码时发现了一个PHP CMS和模板系统。我想知道是否有一种方法可以使用elm代码代替PHP作为模板。我的想法是制作一个具有内容的HTML div,并使用elm将数据从div中取出并放入应用程序中

我不知道要尝试什么,因为Google和StackOverflow没有任何帮助。

模板系统非常简单,因为我正要换成

   <body>
     <div>
       <?php foreach ( $posts_array as $post ) : ?>
           <div>
               <h1><?php echo $post->page_title; ?></h1>
               <p><?php echo $post->page_content; ?></p>
           </div>
       <?php endforeach; ?>
     </div>
          <!-- Elm Here -->    
   </body>

1 个答案:

答案 0 :(得分:3)

如果我正确理解,则需要将php数据转换为JSON,然后通过标志将JSON数据导入到elm应用程序中:

<?php $flags = htmlspecialchars(json_encode($posts_array), ENT_QUOTES, "UTF-8"); ?>
<div id="elm" data-flags="<?php echo $flags; ?>"></div>
<!-- Load elm js file here -->
<script>
    var node = document.getElementById("elm");

    var app = Elm.Main.init({
        node: node,
        flags: JSON.parse(node.dataset.flags)
    });
</script>