Ошибки разбора шаблонов в браузере приложений IONIC 3 - PullRequest
0 голосов
/ 29 мая 2018

Я работал над проектом, который должен открыть сайт внутри приложения.Итак, я использовал Cordova InAppBrowse для ionic 3. Проблема в том, что я получаю ошибку, показывающую ошибки разбора.

На index.html

<div style="text-align: center;">

  <button ion-button type="button" (click)="open('https://coins4ar.com/{{coinsGroup.symbol}}/')">More Info
</button>
  </div>

На index.ts

import { InAppBrowser } from '@ionic-native/in-app-browser';

@Component({
  selector: 'page-index',
  templateUrl: 'index.html'
})
export class IndexPage {
  constructor(public navCtrl: NavController, public navParams: NavParams, private iab: InAppBrowser,
    private data: DataProvider, public http: HttpClient) {
  }

coinsGroup = [];


ionViewDidLoad() {

    this.coinsGroup = this.navParams.data;  

  }
open(url:string) {  
    let browser = this.iab.create(url,'_blank', 'location=yes');
    browser.show();
  }

}

Я получаю сообщение об ошибке

VM66652 vendor.js:100970 Uncaught Error: Template parse errors:
Parser Error: Got interpolation ({{}}) where expression was expected at column 27 in [open('https://coins4ar.com/{{coinsGroup.symbol}}/')] in ng:///AppModule/IndexPage.html@190:39 ("
    -->

      <button ion-button type="button" [ERROR ->](click)="open('https://coins4ar.com/{{coinsGroup.symbol}}/')">More Info</button>
  </div>

"): ng:///AppModule/IndexPage.html@190:39
    at syntaxError (VM64228 vendor.js:100970)
    at TemplateParser.parse (VM64228 vendor.js:125153)
    at JitCompiler._parseTemplate (VM64228 vendor.js:135106)
    at JitCompiler._compileTemplate (VM64228 vendor.js:135081)
    at VM64228 vendor.js:134982
    at Set.forEach (<anonymous>)
    at JitCompiler._compileComponents (VM64228 vendor.js:134982)
    at VM64228 vendor.js:134852
    at Object.then (VM64228 vendor.js:100959)
    at JitCompiler._compileModuleAndComponents (VM64228 vendor.js:134851)

Работает нормально, когда используется Anchor Tag, но запускает веб-сайт вне приложения.

1 Ответ

0 голосов
/ 29 мая 2018

Я полагаю, что ваша проблема находится в этой строке

(click)="open('https://coins4ar.com/{{coinsGroup.symbol}}/')"

, и вам нужно изменить ее на

(click)="open('https://coins4ar.com/'+coinsGroup.symbol+/')" 

Вы можете найти рабочий пример решения здесь https://stackblitz.com/edit/angular-qp3xhw

Обновите

или, если у вас есть доступ к coinsGroup в вашем файле ts, сделайте это

(click)="openLink()"

и в своем файле ts

openLink() {
  const url = `https://coins4ar.com/${this.coinsGroup.symbol}/`;
  ... open page from here
} 
...