Aurelia click.delegate并不总是在转发器内发射

问题描述 投票:0回答:1

我不能确定这个问题,但它发生在大约1/5的时间。

我在repeat.for中有一个click.delegate方法,有时click.delegate方法没有被触发,我没有得到任何错误/警告。

在视图中

<ul id="chart-data-set-options" class="dropdown-menu chart-options-list">
                                <li
                                        class="${(type.value === chartDataSet ? 'active' : '')}"
                                        repeat.for="dataSet of dataSets">
                                    <a click.delegate="$parent.eventChartDataSetChanged(dataSet.value)">${dataSet.title}</a>
                                </li>
                            </ul>

在VM中

dataSets = [
    {
        value: RankValueType.RANK,
        title: "Rank",
        shortName: "Rank"
    }, {
        value: RankValueType.RANK_CHANGE,
        title: "Daily Rank Change",
        shortName: "Change"
    }, {
        value: RankValueType.RANK_7_DAY,
        title: "7 Day Moving Avg Rank",
        shortName: "7 Day"
    }, {
        value: RankValueType.RANK_30_DAY,
        title: "30 Day Moving Avg Rank",
        shortName: "30 Day"
    }];

我曾尝试使用和不使用'$ parent',似乎没有任何区别。

aurelia aurelia-binding aurelia-framework
1个回答
0
投票

我仍然不知道问题的确切原因,但我通过删除'a'元素来解决它,我也重命名了我的'type'变量。

工作版

<li
                                        class="${(dataSet.value === chartDataSet ? 'active' : '')}"
                                        repeat.for="dataSet of dataSets"
                                        click.delegate="$parent.eventChartDataSetChanged(dataSet.value)">
                                    ${dataSet.title}
                                </li>
© www.soinside.com 2019 - 2024. All rights reserved.