Ionic:拆分 <a> 标签 window.open url 以包含数据

Ionic: Splitting an <a> tag window.open url to include data

我想在我的标签中拆分 URL。

在 Ionic 中我的一个 templates.html 文件中,我在外部链接到 Twitter 和 Facebook。

我正在使用 Cordova InAppBrowser,长话短说,Twitter 和 Facebook 的链接在正确的 apps/system 浏览器中打开...但我想不出一种方法来包含我的数据可以在简单版本中使用。

使用时:

<a class="twitter" onClick="window.open('https://twitter.com/intent/tweet?text={{offer.title}}%20-%20{{offer.business.data.name}}%20-%20via%20@handle','_system','location=yes');return false;"><i>&#xE12f;</i> Twitter</a>

它可以正确打开,但不会继承 {{offer.title}} 和 {{offer.business.data.name}} 的正确数据 - 我需要一种方法来包含它。

使用时:

<a class="twitter" href="https://twitter.com/intent/tweet?text={{offer.title}}%20-%20{{offer.business.data.name}}%20-%20via%20@handle" target="_system"><i>&#xE12f;</i> Twitter</a>

它将正确的数据加载到 URL,但根本无法正确打开,这是一个更大的问题 - 必须有一种简单的方法:

'url.com/' + {{offer.title}} + '/something'

什么的?

有很多方法可以完成此操作,但在 Angular.js 中处理此问题的最有效方法是使用 ng-click。类似于以下内容:

var app = angular.module('plunker', []);

app.controller('MainCtrl', function($scope) {
  $scope.name = 'World';

  $scope.offer = {
    title: 'someTitle',
    business: {
      data: {
        name: 'some Business'
      }
    }
  };

  $scope.openTwitter = function(offer) {
    window.open('https://twitter.com/intent/tweet?text=' +
      offer.title +
      '%20-%20' +
      offer.business.data.name +
      '%20-%20via%20@handle', '_system', 'location=yes');
  }
});

HTML:

<a ng-click="openTwitter(offer)" href="">Open Twitter</a>

http://plnkr.co/edit/tqQWHc0nlp9Rpo85aSbV