我正在Angular 1.7.2中进行一个项目,该项目利用了Angular 5/6中构建的某些组件。我们正在使用downgradeComponent工具对组件进行降级,并且一切正常。
我们最近添加了一个需要与之集成的新组件,但是我们还需要访问这些组件的属性。我一直在研究ngRef指令,但这似乎行不通,而且在Angular文档之外找不到其他ngRef示例。当我添加ngRef并将其绑定到当前作用域中的变量时,它永远不会被分配。任何帮助将不胜感激!
Angular 5组件
export class ImportedComponent implements OnInit {
variable1: boolean = true;
variable2: boolean = false;
constructor(private certService: ImportedComponent) { }
ngOnInit() {
this.variable1 = true;
this.variable2 = false
}
}
HTML-带AngularJS 1.7.2
<imported ng-ref="importedProperty" ></imported>
<custom-button ng-if="importedProperty.variable1" [disabled]="!importedProperty.variable2"></custom-button>
降级
angular
.module("blah", [])
.directive(
"imported",
downgradeComponent({ component: ImportedComponent }) as angular.IDirectiveFactory
);
由于正在显示HTML,并且可以看到console.log()从末尾出现,所以正在导入组件的降级正在工作,但是当我尝试访问importedProperty
时,我无法定义(如果我在之前的作用域中将其初始化,则为空对象)
答案 0 :(得分:2)
我最终与组件所有者合作,后者现在正在将数据作为事件传回。然后,我监听该事件并相应地使用这些属性