На самом деле это название законно, но нетрадиционно. Хотя синтаксически это допустимо, это действительно может быть ошибка.
«name» указывает имя атрибута в некоторой области (определяется необязательным атрибутом «scope», который по умолчанию равен «any»), а не имя переменной сценария. Поскольку это фактически ключ на карте, это может быть любая строка символов.
Этот тег будет начинаться в контексте страницы и искать атрибут с именем "welcome memberInfoView". Он будет продолжать охватывать области, пока не будет найден названный объект. Затем он будет смотреть на свойство hasFoo этого объекта. Если это «ложь», включенный фрагмент будет вызван.
Еще одна вещь, которая выглядит неправильно, это свойство hasFoo. Как правило, свойство будет просто «foo», и объект должен иметь метод доступа с именем isFoo()
или getFoo()
. Возможно, логический тег мягок в этом отношении и успешно вызовет метод hasFoo()
.
Вы можете создать простой тест для этого использования и убедиться, что он работает так, как вы предполагаете.