【问题标题】:Cordova Social Sharing科尔多瓦社交分享
【发布时间】:2016-12-21 11:50:11
【问题描述】:

我正在使用 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()">

所以当有人点击分享时,url 会变成选中项 url 的 url。但是,我想知道这是否可以通过 shareWithOptions 实现。

【问题讨论】:

  • 嗯,是的。如果url: item.urlstring 并且格式为http://example.com/item/3 例如,url: item.url 将起作用

标签: cordova angular ionic2 social android-sharing


【解决方案1】:

简答

是的,这是可能的。

更长的答案:

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

形式的字符串

场景 1,在带有 item 属性的详细信息页面上

这种情况需要您的类中有一个名为item 的属性。 (例如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);
  }

您基本上是在使用属性messagesubjecturlchooserTitle 构造一个[Object],所以没有理由这不能工作。

【讨论】:

  • 想要方案 2。它按我的意愿工作。非常感谢您的回答。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多