Aurelia $ parent не определен при загрузке первой страницы - PullRequest
0 голосов
/ 17 октября 2018

В Аурелии я сейчас не могу привязать поле от родителя (app.ts) на целевой странице.Если я явно использую $parent, я получаю исключение, сообщающее, что $parent не определено.

Если я перехожу на другую страницу и возвращаюсь на целевую страницу, $parent определено сейчас, и я могуполучить доступ к полям от родителя напрямую, без использования ключевого слова $parent.

Я уверен, что это слово раньше, но я думаю, что некоторые обновленные пакеты ломают его.(Не распознал его после обновления)

<h1>${testString}</h1><!-- Nothing displayed -->
<h1>${$parent.testString}</h1><!-- ERROR [app-router] TypeError: Cannot read property 'testString' of undefined -->

Оба не работают изначально после загрузки страницы, но после возврата на эту страницу.

Чего мне не хватает?

Использование aurelia-binding 2.1.5, aurelia-framework 1.3.0, aurelia-router 1.6.3

1 Ответ

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

Вместо использования $ parent просто используйте внедрение зависимостей, чтобы получить доступ к родительской модели представления.

Вот пример GistRun .

test-child.html

<template>
  <h1>${app.message}</h1>
</template>

test-child.js

import {inject} from 'aurelia-framework';
import {App} from './app';

@inject(App)
export class TestChild {
  constructor(app) {
    this.app = app;
  }
}

app.html

<template>
  <require from="./test-child"></require>
  <test-child></test-child>
</template>

app.js

export class App {
  message = 'Hello World';
}
...