让我们假设我们有一个像这样的Riot SPA:
的index.html:
<my-tag></my-tag>
<script type="riot/tag" src="my-tag.riot"></script>
<script>
//OK we need a compile() wrapper to access all tag instances
var tags;
riot.compile(function() {
tags = riot.mount('*');
});
</script>
MY-tag.riot:
<my-tag>
<p>My tag</p>
<script>
myFunction(){
console.log('doing stuff...')
}
</script>
</my-tag>
我想从index.html调用myFunction()。理论上它可能是这样的:
riot.compile(function() {
tags = riot.mount('*');
});
tags[0].myFunction();
实际上,tags数组在compile()包装器之外是不可用的 。当然可以从compile()中调用myFunction():
riot.compile(function() {
tags = riot.mount('*');
tags[0].myFunction();
});
但我不确定这是一个好方法。那么访问标签内功能的最佳做法是什么?提前谢谢!
答案 0 :(得分:0)
全局定义标签变量并在编译回调中分配值。