Ev denetleyici kapsamıma component gösterge tablosundan erişmeye çalışıyorum ancak tanımlanmamış.Açısal bileşen çıkış bağlama işlevinden denetleyici kapsamına erişilemiyor
Ayrıca ikinci bir yaklaşım denedim ama sonra işlev değişkeni tanımsız. Ben typescript
İLK YAKLAŞIM ile Açısal 1.5 kullanıyorum
:
Ana kontrolör HTML:
<div class="home-container">
<dashboard-component on-tile-type-changed="HomeCtrl.onTileTypeChanged">
</dashboard-component>
</div>
Ana kontrolör js:
namespace app.dashboard {
'use strict';
class HomeController {
static $inject:Array<string> = ['$window'];
constructor(private $window:ng.IWindowService) {
}
private onTileTypeChanged(tile:ITile) {
console.log(tile); // DEFINED AND WORKING
console.log(this); // NOT DEFINED
}
}
angular
.module('app.dashboard')
.controller('HomeController', HomeController);
}
Pano denetleyici js:
angular.module('app.dashboard')
.component('dashboardComponent', {
templateUrl: 'app/dashboard/directives/dashboard-container.html',
controller: DashboardComponent,
controllerAs: 'DashboardCtrl',
bindings: {
onTileTypeChanged: "&"
}
});
this.onTileTypeChanged()(tile);
İKİNCİ YAKLAŞIM:
Ana kontrolör HTML:
<div class="home-container">
<dashboard-component on-tile-type-changed="HomeCtrl.onTileTypeChanged()">
</dashboard-component>
</div>
Pano denetleyici js: Burada ben
this.onTileTypeChanged(tile);
VeSen bağlayıcı ifadesini kullanan
private onTileTypeChanged(tile:ITile) {
console.log(tile); // NOT DEFINED
console.log(this); // DEFINED AND WORKING
}
'pano-component' için bağlamaları nelerdir? – georgeawg
ControllerAs sözdizimi kullanarak çalıştı? – Yerken
@georgeawg ekledi, denetleyicideki işlev tetiklendi ancak denetleyici kapsamını ve girdi değişkenini erişilebilir hale getiremiyorum. –