Jef*_*lle 5 javascript twitter-bootstrap typescript angular
我想知道如何从Typescript启动Twitter-Bootstrap.
$('.carousel').carousel()
Run Code Online (Sandbox Code Playgroud)
我必须实现jquery.d.ts来修复$ -sign调用,但是我仍然得到jlecery.d.ts中找不到.carousel()的错误.
我尝试将javascript捆绑到一个模块并像这样调用它.但它似乎没有用.这是我的代码:
carousel.d.ts
declare module 'carousel/carousel' {
var start: any;
export = start;
}
Run Code Online (Sandbox Code Playgroud)
carousel.js
System.register('carousel/carousel', [], true, function () {
var carousel = function () {
function carousel() {
}
carousel.prototype.start = function () {
$('.carousel').carousel();
}
}
exports.carousel = carousel;
});
Run Code Online (Sandbox Code Playgroud)
app.ts
import {Component} from "angular2/core";
import {bootstrap} from 'angular2/platform/browser';
import {Carousel} from "carousel/carousel";
@Component({
selector: "carousel",
bindings: [CarouselComponent],
templateUrl: 'carousel.html'
})
export class CarouselComponent {
start() {
carousel.start();
}
}
}
bootstrap(CarouselComponent)
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助.
问题是您没有 的类型定义carousel()。就像你提到的 - 它是 Twitter-Bootstrap 中的一个函数,但你只包含了jQuery 的类型定义(*.d.ts) 。您需要以相同的方式将它们包含在 Bootstrap 中。
您可以从 DefinitiveTyped 项目获取完整的 Bootstrap 绑定定义,可以从其GitHub获取,也可以作为NuGet 包获取。以下是重要部分:
interface CarouselOptions {
interval?: number;
pause?: string;
wrap?: boolean;
keybord?: boolean;
}
interface JQuery {
carousel(options?: CarouselOptions): JQuery;
carousel(command: string): JQuery;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2854 次 |
| 最近记录: |