2015-05-15 4 views
3

Простая проблема здесь, но, к сожалению, не может быть решена. Как уже упоминалось в названии, я не могу заставить Riot показать содержимое своего пользовательского тега.Riot.mount (*) не имеет никакого эффекта

<!DOCTYPE html> 
<html> 
<head></head> 
<body> 
    <hello></hello> 
    <script type="text/javascript" src="node_modules/riot/riot.min.js"></script> 
    <script type="text/javascript"> riot.mount('*'); </script> 

    <script type="text/javascript" src="bower_components/lodash/lodash.min.js"></script> 
    <script type="text/javascript" src="bower_components/jquery/dist/jquery.min.js"></script> 
    <script type="text/javascript" src="bower_components/toastr/toastr.min.js"></script> 
    <script type="text/javascript" src="js/init.js"></script> 
    <script type="text/javascript" src="js/config.js"></script> 
    <script type="text/javascript" src="js/util.js"></script> 
    <script type="text/javascript" src="js/hello.js"></script> 
</body> 

hello.js является сгенерированные JS, вот его код:

riot.tag('hello', '<div> asdasd </div>', function(opts) { 
}); 

А вот его HTML:

<hello> 
    <div> 
     asdasd 
    </div> 
    <script> 
    </script> 
</hello> 

ответ

0

Woops. Лом это. Перемещено hello.js чуть ниже riot.min.js, и это сработало. Очевидно, что размещение там и выше монтирования является критическим.

5

Вы не можете установить свой тег перед его объявлением.

Вам нужно сделать в таком порядке:

Включить бунт:

<script type="text/javascript" src="node_modules/riot/riot.min.js"></script> 

Объявите ваши теги:

<script type="text/javascript" src="js/init.js"></script> 
<script type="text/javascript" src="js/config.js"></script> 
<script type="text/javascript" src="js/util.js"></script> 
<script type="text/javascript" src="js/hello.js"></script> 

Маунт ваши объявленные теги:

<script type="text/javascript"> riot.mount('*'); </script> 
Смежные вопросы