Har*_*nan 8 javascript jquery jquery-ui aurelia
我可以按照入门教程中提供的步骤运行Aurelia应用程序.他们在骨架应用程序中使用了bootstrap nav-bar.是否可以在Aurelia应用程序中使用JQuery UI组件.如果是,请解释我如何实现这一目标.
提前致谢.
Buz*_*nas 12
是的,这是可能的!
我为你做了一个jQueryUI Tabs示例:
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>
Run Code Online (Sandbox Code Playgroud)
如您所见,我只复制了jQueryUI Tabs组件的样板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();
}
}
Run Code Online (Sandbox Code Playgroud)
代码非常易读:我从我的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",
Run Code Online (Sandbox Code Playgroud)
然后,您可以通过在项目的任何其他HTML模板中调用Tabs组件来随意使用它:
而已!
你可以在这里看到工作示例:http://plnkr.co/edit/ESxZA2jTlN7f6aiq1ixG?p=preview
PS:谢谢那个plnkr,Sylvian,我用你的叉子来挖我的.
您可以import在DOM元素上使用jquery.
鉴于此template名称test.html:
<template>
<div ref="content">test</div>
</template>
Run Code Online (Sandbox Code Playgroud)
一个Test自定义元素可以操纵div引用为content这样的:
import {customElement, inject} from 'aurelia-framework';
import $ from 'jquery';
@customElement('test')
export class Test{
attached(){
$(this.content).css('color', 'red');
}
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用<test></test>标记在任何视图中使用该自定义元素.
此示例使用该css()函数,但您可以导入任何插件并将其应用于您的元素.
请参阅此处的工作示例:http://plnkr.co/edit/SEB4NK?p = preview(请耐心等待加载需要一段时间).
| 归档时间: |
|
| 查看次数: |
11318 次 |
| 最近记录: |