JSに渡すときに、let value = {{ data }} と書くと宜しくない。let value = “{{ data }}” とダブルクオテーションで囲って渡してあげる必要がある。
サーバ側
let tera = tera::Tera::new("templates/*").unwrap(); let data = 100; let mut context = tera::Context::new(); context.insert("title", "Index page"); context.insert("data", &data); let output = tera.render("index.html", &context); return axum::response::Html(output.unwrap());
html/JS側
// <input type="range" class="form-range" id="customRange1" min="0" max="{{data}}" v-model="amount"> // <script> let value = "{{ data / 2 }}"; </script>
↓ これは動くには動くが駄目。
<script> let value = {{ data / 2 }}; </script>