问题:
我无法将函数成功传递给降级的 Angular 2 组件。我已经尝试了几乎所有我能想到的传递内容的方法,但我只能通过字符串插值 -> some-attribute={{controller.property}} 传递字符串。以下是我尝试过的一些方法(是的,我知道其中一些没有意义......)
some-function="controller.function";
some-function="{{controller.function}}"; //<-- works for data, not functions
[some-function]="{{controller.function}}";
[someFunction]="controller.function";
[(someFunction)]="controller.function";
Run Code Online (Sandbox Code Playgroud)
设置:
这是我现有的设置,适用于数据但不适用于函数:
角度 1 用法
<my-component data-input-name="{{controller.name}}"></my-component>
Run Code Online (Sandbox Code Playgroud)
升级/降级适配器
angular.module('myModule').directive('myComponent',
downgradeComponent({
component: MyComponent,
inputs: ['inputName']
}) as angular.IDirectiveFactory);
Run Code Online (Sandbox Code Playgroud)
Angular 2 定义
@Component({
selector: 'my-component',
templateUrl: './my.component.html',
styleUrls: ['./my.component.css']
})
export class MyComponent implements OnInit {
@Input() inputName: any;
constructor() {}
}
Run Code Online (Sandbox Code Playgroud)
Angular 文档甚至展示了如何设置它,但没有给出任何实际使用的示例。我错过了什么或者这不能完成吗?
我刚刚按照Angular 4升级指南更新了我的AngularJS 1.6应用程序.基本上我已经添加了新的angular 4依赖项package.json,通过appstrapped app UpgradeModule并在angular 4中创建了一个新的简单组件.一切都按预期工作但性能非常差!
该应用程序是一个仪表板应用程序,可能有大量的小部件组件和大量的后端http请求来填充每个小部件内容.
根据仪表板的不同,升级的应用程序加载和显示仪表板的速度要慢2到5倍,Chrome网络控制台会显示http请求按顺序运行,而不是像1.6版本那样一次性全部拍摄.总体而言,用户界面也不那么流畅.
我玩过ngZone并尝试在角度以外运行请求,zone.runOutsideAngular(() => { ... })以降低因更改检测而导致的刷新成本.结果稍微快一点,但仍比原来的1.6版本慢得多.
升级到混合1.6-4应用程序以保持良好的原始性能时是否需要考虑一些事项?谢谢!
我目前正在从Angular.JS(1.5)升级到Angular 2+.我$postLink在一个方法中遇到过IComponentController,我试图弄清楚Angular 2+中等效的生命周期钩子是什么.
升级到rc5后,并使用新版本重新安装primeng,我收到以下错误:
zone.js?1472019041780:484未处理的Promise拒绝:模板解析错误:无法绑定到'icon',因为它不是'button'的已知属性.("ver':hovered,'ui-state-focus':专注,'ui-state-disabled':禁用}">] [icon] ="icon"pButton*ngIf ="showIcon"(click)="onButtonClick ($ event,in)"[ngClass] ="):Calendar @ 7:31; Zone :; Task:Promise.then; Value:
我尝试删除所有对日历的引用,因此我至少可以启动并运行该应用程序,并得到另一个问题:
Can't bind to 'rows' since it isn't a known property of 'p-paginator'.
1. If 'p-paginator' is an Angular component and it has 'rows' input, then verify that it is part of this module.
2. If 'p-paginator' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the '@NgModule.schema' of this component to suppress this message.
(" <ng-content select="header"></ng-content>
</div>
<p-paginator [ERROR ->][rows]="rows" [first]="first" [totalRecords]="totalRecords" [pageLinkSize]="pageLinks" styleClass="ui"): …Run Code Online (Sandbox Code Playgroud)