1. kwst

    Posted

    kwst
Changes in title
+Riot3.0にアップデートした時にRiot template errorが出てハマった
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,34 @@
+## Riot template error thrown in the <...> tag
+タグ内で自身のデータにアクセスしようとした時に下記エラーが出るようになりました。
+
+```
+> Riot template error thrown in the <...> tag
+```
+
+キャプチャ
+![スクリーンショット 2016-12-12 18.10.48.png](https://qiita-image-store.s3.amazonaws.com/0/29966/9628de7d-49d1-e684-8148-291a67141d48.png)
+
+ソースではカスタムタグ内で`data.hoge`のようにオブジェクトのプロパティにアクセスしようとしていました。
+
+```
+<custom-tag>
+ <h1>This is Riot 3.0</h1>
+ <p>Show console, you check error <span style="color:red;">"Riot template error thrown in the <...> tag".<span></p>
+ <p>{data.hoge}</p>
+</custom-tag>
+```
+
+2.0ではエラーが出ない
+[サンプル(codepen)](http://codepen.io/kwst/pen/QGVpMg?editors=1000)
+
+3.0ではエラーが出る
+[サンプル(codepen)](http://codepen.io/kwst/pen/GNXWOo?editors=1000)
+
+### `No update and updated events triggered before the mount`が関係しているのかな…
+色々試行錯誤していくと、mountされる前にちゃんと`update`でデータを入れてやるとエラーは解消されました。
+
+[移行ガイド](http://riotjs.com/guide/migration-from-riot2/#breaking-changes)には、
+> No update and updated events triggered before the mount
+
+と記載されているので、おそらくmountイベントの前には`update`が走らないようになったのが関係しているのかなと。
+