Acredito que houve um engano no código do exercício pois a variavel frase
é declarada como uma string vazia no data()
e não há nenhum evento no input que (ex.: @input ="frase = $event.target.value"
) para passar os dados digitados na view para a variável frase
.
Então quando a função der o alert em frase
ela vai estar vazia, como sempre esteve, nunca foi alterada.