対象のタグをquerySelectorするのが影響が少ない。
let isError=fn.q('.ace_error',ed.container);
同様にwaring等も検出できる。
全部
<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.3.3/ace.js" type="text/javascript" charset="utf-8"></script>
<script src="//gnjo.github.io/riot.js"></script>
<ace></ace>
let fn=this.fn||{};
fn.q=(s,doc=document)=>{return doc.querySelector(s)};
fn.ace=(el)=>{
var ed= ace.edit(el,{
maxLines: 30,
wrap: true,
autoScrollEditorIntoView: true,
})
ed.setTheme("ace/theme/xcode");
ed.session.setMode("ace/mode/javascript");
ed.setOptions({useSoftTabs: true, tabSize: 1})
return ed;
}
riot.tag(
`ace`
,`<pre ref="code" oninput={input}></pre>`
,function(opts){
let ed=null;
this.one('mount',function(){ ed=fn.ace(this.refs.code) })
this.input=function(ev){
let isError=fn.q('.ace_error',ed.container);
console.log(isError)
}
})
riot.mount('ace')
;