我正在尝试使用这个Angular 2插件,因为我需要一个NG2号码滑块,我可以自定义背景栏和旋钮: https://github.com/Bogdan1975/ng2-slider-component
我可以看到它在这里工作的一个例子: http://bogdan1975.github.io/slider/
但是当我尝试在我全新的Angular CLI项目中使用时,我遇到了问题。我用它作为参考来清除一些问题: https://github.com/Bogdan1975/ng2-slider-component/issues/12
即将这3个套餐添加到我的package.json
dependencies
:
"ng2-slideable-directive": "^1.0.13",
"ng2-slider-component": "^1.0.9",
"ng2-styled-directive": "^1.0.5"
然后在我的app.module
中,我这样添加:
//...
import { Ng2SliderComponent } from 'ng2-slider-component/ng2-slider.component';
import { SlideAbleDirective } from 'ng2-slideable-directive/slideable.directive';
import { Ng2StyledDirective } from 'ng2-styled-directive/ng2-styled.directive';
//...
@NgModule({
declarations: [
//...
SlideAbleDirective,
Ng2StyledDirective,
Ng2SliderComponent
],
// ...
exports: [
Ng2SliderComponent,
Ng2StyledDirective
],
//...
我还修正了module.id
错误,将+ ""
追加到line 401
ng2-slider.component.js
经历了所有这些,我现在又遇到了另一个错误,我无法弄明白:
Ng2SliderComponent.ngfactory.js:199 ERROR TypeError:无法读取 未定义的属性'组件' 在Ng2StyledDirective.ngAfterViewInit(vendor.bundle.js:24206) at callProviderLifecycles(vendor.bundle.js:12979) at callElementProvidersLifecycles(vendor.bundle.js:12954) at callLifecycleHooksChildrenFirst(vendor.bundle.js:12938) 在checkAndUpdateView(vendor.bundle.js:14043) 在callViewAction(vendor.bundle.js:14400) 在execComponentViewsAction(vendor.bundle.js:14332) 在checkAndUpdateView(vendor.bundle.js:14041) 在callViewAction(vendor.bundle.js:14400) 在execComponentViewsAction(vendor.bundle.js:14332)
所以,这已经完全阻止了我的任务。你能帮我修一下这个bug吗?或者也许指向一个NG2滑块,让我自定义背景栏和旋钮......我很乐意使用它:https://material.angular.io/components/slider/overview但我没有看到一种方法来自定义它的外观(我需要能够更改背景图像但在MDL中更改它似乎没有任何效果。)无论如何,请帮忙!
修改:
通过该组件的内部结构,我注意到它在这一行上失败了:
var component = (<any>this._view)._element.component;
我认为这是一个老方法来获取组件本身,我发现这个链接显示了一些方法来解决这个问题:https://github.com/angular/angular/issues/8277#issuecomment-288285510
对我有用的是在NG 4中这样做:
(<any>this._view.injector).view.context