Meteor JQuery 和 'slider' 函数

Meteor JQuery and 'slider' function

我正在尝试在我的流星应用程序中创建一个介于 0 和 1 之间的滑块,步长为 0.001,我不希望滑块具有默认值,并且我不想显示滑块的句柄,直到用户决定一个值。一般来说,我是 Meteor 和 Web 开发的新手,所以我复制了一些代码并一直在编辑它以适应我的上下文。

我的 JS 文件是这样的

Template.game_task.onCreated(()=>{
    if (!Session.get("sliderValue")){
        Session.setPersistent('sliderValue', -1)
    }

});

Template.game_task.onRendered(()=> {

    /////// the slider stuff //////
    $("#slider").slider({
        min: 0,
        max: 1,
        step: 0.01,
        slide: function(event, ui) {
            $('#slider > .ui-slider-handle').show();
            Session.setPersistent('sliderValue',ui.value)
        },
        change: function(event, ui) {
            //save value to collection
        }
    });

    $('#slider > .ui-slider-handle').hide();


});

然后是我的HTML文件

<template name="game_task">
    <div id="slider"></div>
    <span id="min">0</span>
    <span class="quarter">0.25</span>
    <span class="quarter">0.5</span>
    <span class="quarter">0.75</span>
    <span id="max">1</span>
    <input name="guess" id="guess" value="-1" hidden />
</template>

但是,我收到以下错误:

Exception from Tracker afterFlush function:
meteor.js?hash=6d285d84547b3dad9717a7c89c664b61b45ea3d8:942 TypeError: $(...).slider is not a function
    at Blaze.TemplateInstance.

我好像没有.slider(..)功能?虽然我的流星包中有 JQuery(默认情况下)。

slider 是 jquery-ui 的一部分,默认情况下它没有与 Meteor 打包在一起。你可以试试 mizzao:jquery