Пользовательские компоненты не могут получить доступ к директивам NativeScript по умолчанию - PullRequest
0 голосов
/ 01 октября 2018

Я уже некоторое время использую NativeScript в некоторых проектах.Одна мысль, которую я заметил, заключается в том, что директивы NativeScript по умолчанию, такие как nsRouterLink, tap и некоторые другие, не работают с компонентами, которые я создал.

Единственный раз, когда эти директивы работают, когда они используют свои стандартные компоненты ", такие как GridLayout, Label и т. Д.

Я создал небольшой проект PlayGround для демонстрациимоя проблема: https://play.nativescript.org/?template=play-ng&id=rZYQGP&v=3

Я думаю, что я должен как-то импортировать эти директивы в мои пользовательские компоненты, но я не знаю, как.

Ответы [ 2 ]

0 голосов
/ 28 ноября 2018

Я не эксперт, но у меня недавно была такая же проблема, и я мог бы обойти ее.

Чистый компонент NativeScript должен быть зарегистрирован соответствующим образом в среде Angular для правильной работы.

Это можно сделатьс registerElement с nativescript-angular/element-registry.Регистрируясь, угловой компонент должен работать как намеченный элемент.

К сожалению, к свойству элемента можно получить доступ только с помощью HostBinding

Я разветвился и применил обходной путь к вашему проекту PlayGround.при условии: https://play.nativescript.org/?template=play-ng&id=SCLxVk

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

К сожалению, это не то же самое, что Web с NativeScript, вы должны прикреплять события к реальному элементу, а не к пользовательским селекторам.Альтернатива заключается в том, что вы можете генерировать событие в своем пользовательском компоненте при нажатии фактического элемента.

Уже существует запрос открытой функции .

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