首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从视图调用Plain JS函数

从视图调用Plain JS函数
EN

Stack Overflow用户
提问于 2018-05-31 18:55:31
回答 1查看 236关注 0票数 1

我很难理解如何在视图中调用Javascript函数。我想要实现的是一个HTML表,其中一些字段是定期更新的一些参数为基础。

因此,我需要一个带参数的函数来获取相应的HTML元素,并设置设置elements.innerHTML的间隔。到现在为止还好。我有这个功能

代码语言:javascript
复制
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‘中,我有以下内容:

代码语言:javascript
复制
import { calcActual } from './views/user_assets/rou';

据我所知,来自app.js的所有代码都填充在一个模块中,因此我不可能直接调用该函数。我的下一个想法是将函数再次包装在app.js中,并从那里调用它。

代码语言:javascript
复制
export var Calc = {
  calcActual: function(amount, gain, time, index) {
    calcActualRes(amount, gain, time, index)
  }
}

但在尝试使用以下命令调用函数时,我总是得到Calc未定义的错误:

代码语言:javascript
复制
 <td id="ressource_<%= index %>">
   actual:<script>Calc.calcActual(
                <%= amount %>,
                <%= gain %>,
                <%= NaiveDateTime.diff(NaiveDateTime.utc_now, ressource.updated_at) %>,
                <%= index %>)
    </script>
  </td>

有没有人能解释一下,为什么这会失败,以及如何让它工作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-31 19:37:45

在使用该模块之前,需要使用require实际导入该模块:

代码语言:javascript
复制
<script>
var calcActual = require('views/user_assets/rou');
// do your stuff with calcActual.
</script>

只需确保在调用require函数之前加载了app.js,否则它将报告require未定义。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50622667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档