我很难理解如何在视图中调用Javascript函数。我想要实现的是一个HTML表,其中一些字段是定期更新的一些参数为基础。
因此,我需要一个带参数的函数来获取相应的HTML元素,并设置设置elements.innerHTML的间隔。到现在为止还好。我有这个功能
export default function calcActual(amount, gain, time, index) {
var td;
td = document.getElementById('ressource_' + index);
setInterval(function() {
td.innerHTML = "actual: " + Math.round(amount + (gain / 3600) * time);
}, Math.round(gain / 3600));}
在'priv/js/views/user_assets/rou.js'
中
在我的'app.js‘中,我有以下内容:
import { calcActual } from './views/user_assets/rou';
据我所知,来自app.js的所有代码都填充在一个模块中,因此我不可能直接调用该函数。我的下一个想法是将函数再次包装在app.js中,并从那里调用它。
export var Calc = {
calcActual: function(amount, gain, time, index) {
calcActualRes(amount, gain, time, index)
}
}
但在尝试使用以下命令调用函数时,我总是得到Calc
未定义的错误:
<td id="ressource_<%= index %>">
actual:<script>Calc.calcActual(
<%= amount %>,
<%= gain %>,
<%= NaiveDateTime.diff(NaiveDateTime.utc_now, ressource.updated_at) %>,
<%= index %>)
</script>
</td>
有没有人能解释一下,为什么这会失败,以及如何让它工作?
发布于 2018-05-31 19:37:45
在使用该模块之前,需要使用require
实际导入该模块:
<script>
var calcActual = require('views/user_assets/rou');
// do your stuff with calcActual.
</script>
只需确保在调用require
函数之前加载了app.js
,否则它将报告require
未定义。
https://stackoverflow.com/questions/50622667
复制相似问题