我试图在我的Aurelia附加函数中调用jQuery。每当jQuery命令运行时,我都会收到此错误:
未处理拒绝TypeError:jquery_1.default不是函数。
这是我的app.ts代码:
import {Redirect, NavigationInstruction, RouterConfiguration} from 'aurelia-router';
import 'semantic';
import $ from 'jquery';
export class App {
configureRouter(config: RouterConfiguration): void {
config.title = 'TrackRack';
config.options.hashChange = false;
config.options.root = '/';
config.map([
{ route: ['home'], name: 'home', moduleId: 'views/home' },
{ route: '', name: 'home2', moduleId: 'views/home'}
]);
}
attached() {
$('.nav_menu').visibility({
type: 'fixed'
});
}
}
这是我的配置:
{
"name": "jquery",
"path": "../node_modules/jquery/dist",
"main": "jquery.js"
},
{
"name": "semantic",
"path": "../node_modules/semantic-ui/dist",
"main": "semantic.js",
"resources": [
"semantic.min.css"
]
}
答案 0 :(得分:1)
您在aurelia.json中需要做的就是
"jquery"
不需要比jQuery更复杂。
另请注意,您可以使用视图中的ref
自定义属性来获取视图中元素的引用。您可以将此引用传递给jQuery,而不是搜索元素。
<强> app.html 强>
<template>
...
<nav ref="navMenu">
...
</nav>
...
</template>
<强> app.ts 强>
$(this.navMenu)).visibility({
type: 'fixed'
});