我可以按照入门教程中提供的步骤运行Aurelia应用程序。他们在框架应用程序中使用了bootstrap nav-bar。是否可以在Aurelia应用程序中使用JQuery UI组件。如果是,请向我解释如何实现这一点。
提前谢谢。
发布于 2015-07-24 18:33:23
是的,这是可能的!
我已经为您制作了一个jQueryUI选项卡示例:
tabs.html
<template>
<ul>
<li repeat.for="tab of tabs">
<a href="${'#' + $parent.id + '-' + $index}">${tab.title}</a>
</li>
</ul>
<div repeat.for="tab of tabs" id="${$parent.id + '-' + $index}">
<p>${tab.text}</p>
</div>
</template>
如您所见,我只复制了HTML组件的样板,并创建了可绑定属性tabs
,它是一个类似于[{title: "", text: ""}]
的对象数组。
tabs.js
import {bindable, inject} from 'aurelia-framework';
import $ from 'jquery';
import {tabs} from 'jquery-ui';
@inject(Element)
export class Tab {
@bindable tabs = null;
constructor(el) {
this.id = el.id;
}
attached() {
$(`#${this.id}`).tabs();
}
}
代码的可读性很好:我已经从config.js文件导入了jquery,也从那里导入了jquery-ui (只有组件选项卡,所以它变得更轻了)。然后,我将DOMElement注入到我的类中,这样我就可以获得它的id。我已经创建了可绑定的属性tabs
。在我的构造函数中,我获得了DOMElement id并填充了我的id属性。最后,在附加的事件上(当所有绑定完成时),我从我的id中获得了jQuery对象,并调用tabs()
方法将模板转换为Tabs组件。很简单,嗯?
在我的config.js文件中,我添加了这两行:
"jquery": "github:components/jquery@2.1.4",
"jquery-ui": "github:components/jqueryui@1.11.4",
然后,您可以通过在项目的任何其他HTML模板中调用Tabs组件,随时随地使用该组件:
就这样!
您可以在这里看到工作示例:http://plnkr.co/edit/ESxZA2jTlN7f6aiq1ixG?p=preview
PS:谢谢你的plnkr,
,我用你的来分叉我的。
发布于 2015-07-24 01:38:44
您可以对DOM元素执行import
,然后使用jquery。
给定这个名为test.html
的template
<template>
<div ref="content">test</div>
</template>
Test
自定义元素可以像这样操作引用为content
的div
:
import {customElement, inject} from 'aurelia-framework';
import $ from 'jquery';
@customElement('test')
export class Test{
attached(){
$(this.content).css('color', 'red');
}
}
然后,您可以在任何使用<test></test>
标记的视图中使用该自定义元素。
本例使用css()
函数,但是您可以导入任何插件并将其应用于您的元素。
请看这里的工作示例:http://plnkr.co/edit/SEB4NK?p=preview (请耐心等待,加载需要一段时间)。
https://stackoverflow.com/questions/31176580
复制