在 riot.js 中使用路由器时如何使用库?

How can I use libraries when using router in riot.js?

我正在使用 riot.js 开发我的应用程序,我想使用 dropzone(http://www.dropzonejs.com/)。

在我的代码中:

index.html以下,

<!doctype html>
<html>

<head>
  <meta charset="utf-8">
</head>

<body>
  <app></app>
  <script src="dist/scripts/bundle.js"></script>
</body>

</html>

app.tag以下,

var route = require('riot-route'); require("dropzone"); require('./main/home.tag'); require('./main/contents1.tag');

<app>
  <main>
    <contents></contents>
  </main>
  <script>
    route(function(tagName) {
      tagName = tagName || 'home'
      riot.mount('contents', tagName)
    })
     route.start(true)
  </script>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/dropzone/4.3.0/min/dropzone.min.css" />
</app>

home.tag以下,

<home>
  <div class="search-box"></div>
</home>

然后,我把<form action="/file-upload" class="dropzone" id="my-awesome-dropzone"></form>加到app.tag里面,就可以了。

<contents></contents>
<form action="/file-upload" class="dropzone" id="my-awesome-dropzone"></form>

但是,我这样把它加到home.tag中,

<home>
  <div class="search-box"></div>
  <form action="/file-upload" class="dropzone" id="my-awesome-dropzone"></form>
</home>

没用。谁能帮我??

尝试在安装标签时更新 DropZone,使用 on('mount',或者您也可以尝试使用 on('updated',

<home>
  <div class="search-box"></div>
  <form action="/file-upload" class="dropzone" id="my-awesome-dropzone"></form>
  <script> 
    this.on('mount', function(){
      new Dropzone(".dropzone");
    })
  </script>
</home>