我正在尝试使用jquery对像这样的组件的mount事件进行dom操作。
<my-tag>
<p>hi</p>
<script>
this.on('mount',funciton() {
$('.abc').hide();
})
</script>
</my-tag>
这会抛出如下所示的错误
TypeError: Cannot read property 'toString' of undefined
at ServerResponse.writeHead (_http_server.js:189:44)
如果我更换
$(".abc").hide()
与
console.log("test");
这完美无缺。知道为什么会这样吗?
以下是版本细节
防暴版:
riot-cli:2.3.14 - https://github.com/riot/cli
riot-compiler:2.3.22 - https://github.com/riot/compiler
更新
只有将其置于 this.on('mount')
时才会出现此问题我尝试将它放在 this.on('all')上,它运行正常。
答案 0 :(得分:-1)
我不认为all
是有效的骚乱事件。至于在服务器上使用jQuery,我尽可能避免这种情况。如果你在组件中隐藏了一个元素,那么你应该使用Riot来切换一个CSS类。如果此元素在组件外部,则应将事件发送到外部/全局observable / pubsub处理程序。如果你必须使用jQuery,你必须确保你通过Node需要加载jQuery,或者使用像DomJS或Cheerio这样的其他解决方案。