我几个小时都在苦苦挣扎,我无法弄清楚我做错了什么。我正在尝试使用ng2-bootstrap的accordion组件,但angular甚至不识别解析它的用法,就好像a不包括对我父组件中指令的引用一样。
我使用npm下载ng2-bootstrap库作为打字,但我使用的是cdn版本。
这是我所包含的第三方库的完整列表。
<script src="https://cdnjs.cloudflare.com/ajax/libs/es6-shim/0.33.3/es6-shim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/systemjs/0.19.20/system-polyfills.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/2.0.0-beta.3/angular2-polyfills.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/systemjs/0.19.20/system.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/ng2-bootstrap/1.0.16/ng2-bootstrap.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/2.0.0-beta.8/Rx.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/2.0.0-beta.8/angular2.dev.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/2.0.0-beta.8/router.dev.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/2.0.0-beta.8/http.dev.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-beta1/jquery.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.3.0/lodash.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha/js/bootstrap.js"></script>
在我的组件中,我正在导入这样的手风琴指令:
import { ACCORDION_DIRECTIVES } from 'ng2-bootstrap/components/accordion';
我的组件标题是:
@Component({
selector: 'places',
templateUrl: 'app/places/views/places.html',
directives: [
DistanceValueComponent,
ACCORDION_DIRECTIVES
],
pipes: [
CapitalizePipe
]
})
在视图中,我正在使用它:
<div>
<accordion>
<accordion-group heading="Heading 1">
Content 1
</accordion-group>
<accordion-group heading="Heading 2">
Content 2
</accordion-group>
</accordion>
</div>
但我得到的是:
如果我将它们包含在同一个组件中,我自己的所有其他指令都运行良好。
答案 0 :(得分:-1)
如果您使用的是system.js,可能需要将其添加到map和package config中:
{
"map": {
"ng2-accordion": "node_modules/ng2-accordion"
},
"packages": {
"ng2-accordion": { "main": "index.js", "defaultExtension": "js" }
}
}