科尔多瓦社会分享

时间:2016-12-21 11:50:12

标签: cordova angular ionic2 social android-sharing

我正在使用cordova社交分享插件。 这是我的代码。

  public shareTo(): void {
    var options = {
      message: 'Check out this item',
      subject: 'Item',
      url: 'http://example.com',
      chooserTitle: 'Share via...'
    };
    SocialSharing.shareWithOptions(options);
    console.log(options);
  }

我希望能够将数据库中的URL更改为所选项目URL。例如......

url: item.url

这是我的html按钮。

<button ion-button (click)="shareTo()">

因此,当有人点击分享时,该网址会更改为所选项目网址的网址。但是,我想知道是否可以使用shareWithOptions。

1 个答案:

答案 0 :(得分:2)

简短回答

是的,这是可能的。

更长的回答:

我将讨论2个场景,包含和不包含列表。该方案考虑到必须定义item ,并且必须是http://example.com/item/3

形式的字符串

场景1 ,位于包含属性item

的详细信息页面上

此方案需要您班级中名为item的媒体资源。 (所以f.e。let item: { url: 'someUrl'}; constructor(){ ... }

如果您在详细信息页面上没有与项目相关的列表。 (你基本上自己提供了这个答案)

<button ion-button (click)="shareTo()">

ts

public shareTo(): void {
    var options = {
      message: 'Check out this item',
      subject: 'Item',
      url: item.url, //the property mentioned in the explanation
      chooserTitle: 'Share via...'
    };
    SocialSharing.shareWithOptions(options);
    console.log(options);
  }
列表页面上的

场景2

让我们考虑您拥有一个名为itemList的项目列表。现在,您希望能够从您现在所在的同一页面分享这些内容中的任何一个。

html就像(注意方法中传递的item对象)

<div *ngFor="let item of itemList" (click)="shareTo(item)">
  {{item}}
</div>

然后可以保持与上面相同的Typescript,只需添加一个参数。

public shareTo(item: any): void {
    var options = {
      message: 'Check out this item',
      subject: 'Item',
      url: item.url, //the paramater
      chooserTitle: 'Share via...'
    };
    SocialSharing.shareWithOptions(options);
    console.log(options);
  }

您基本上构建了一个[Object],其中包含messagesubjecturlchooserTitle属性,因此没有理由这不应该工作。