【问题标题】:how can i call a function inside ember octane template without event?如何在没有事件的情况下调用 ember octane 模板中的函数?
【发布时间】:2019-08-30 11:00:35
【问题描述】:

我有一个名为 calculatePercentage 的函数,如果我想在每个 li 中调用这个函数,例如

<li>{{this.calculatePercentage 1023 0 5000}}</li> 

没有任何用户事件,我如何在 ember octane 应用程序中做到这一点?

export const calPrecOfTwoNums = (num: number, min: number, max: number) => {
    let precentageResult = Math.round((((num - min) * 100) / (max - min)));
    if(precentageResult < 0) {
        precentageResult = 0;
    } else if(precentageResult > 100) {
        precentageResult = 100;
    }
    return precentageResult;
}

【问题讨论】:

  • 你也可以让它成为一个原生的getter。原生 es5 getter 类似于函数,但您可以通过属性访问它们——唯一的缺点是它们不接受 args,因此您需要抽象掉 args

标签: javascript function loops math ember.js


【解决方案1】:

你正在尝试write a helper

通过ember-cli生成助手:

ember generate helper calculate-percentage

这将在正确的位置为您的助手生成一个文件。在那里,放置你的函数,但稍微修改一下参数:

export default function calculatePercentage([num, min, max]) {
    let precentageResult = Math.round((((num - min) * 100) / (max - min)));
    if(precentageResult < 0) {
        precentageResult = 0;
    } else if(precentageResult > 100) {
        precentageResult = 100;
    }
    return precentageResult;
}

然后你可以像这样在模板中使用它:

<li>{{calculate-percentage 1023 0 5000}}</li> 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-11
    相关资源
    最近更新 更多