Как получить доступ к чему-либо из моего компонента Angular 2 после того, как я уже "в" моей сетке кендо - PullRequest
0 голосов
/ 27 сентября 2018

Итак, после того, как я создаю новую строку в моей сетке, мне нужно получить доступ к другой информации в моем компоненте.Обычно я получаю к ним доступ с помощью «this.method» или «this.property», однако после создания этой новой строки «this» больше не относится к компоненту, а вместо этого относится к сетке.У меня есть несколько причин «вырваться» из сетки и получить доступ к моему компоненту, но не могу понять, как.

@Component({
  selector: 'my',
  templateUrl: 
    <kendo-grid 
        id="myGrid" 
        [kendoGridBinding]="postingGridData" 
        [kendoGridTemplateEditing]="addNewPost" 
        (save)="saveHandler($event)"
        (remove)="removeHandler($event)">
            <ng-template kendoGridToolbarTemplate>enter code here
                <button kendoGridAddCommand id="addNewPost">Add new</button>
            </ng-template>
    </kendo-grid>
})
export class MyComponent{
    // random property to access
    public num: number;
    // create new grid row
    addNewPost(): void{
        let thisNumber = this.num;
        this.doThisMethod();
    }
    // another method on the component
    doThisMethod(): void{
        doSomething
    }
}`

Ответы [ 2 ]

0 голосов
/ 04 октября 2018

Итак, когда у вас есть [kendoGridTemplateEditing] в вашей сетке, он автоматически обрабатывает функцию добавления / отмены / удаления / редактирования для вас, поэтому, когда внутри одной из его функций, «this» теперь относитсяк этой директиве.Обходной путь для этого - привязка «this» к методу в конструкторе.

constructor() {
    this.addNewPost= this.addNewPost.bind(this);
}
0 голосов
/ 27 сентября 2018

Ты довольно близко.Вам необходимо определить addHandler для сетки кендо.Как только вы это сделаете, у вас будет доступ к this внутри doThisMethod .

. Я создал Пример Stackblitz .Это гибрид вашего кода и документация Kendo для CommandColumnComponent .Когда вы запустите Stackblitz, вы увидите, как компонент может получить доступ к свойству this.num внутри функции doThisMethod . Эта страница также может вам помочь.Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...