2016-12-21 5 views
0

Я использую плагин социальной связи cordova. Вот мой код.Cordova Social Sharing

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-адрес выбранного элемента. Тем не менее, мне интересно, возможно ли это с помощью shareWithOptions или нет.

+0

Ну, да. 'url: item.url' будет работать, если это 'string' и находится в форме' http: // example.com/item/3' например – Ivaro18

ответ

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, будет что-то вроде (обратите внимание на объект элемента, переданный в метод)

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

Машинопись может затем быть такой же, как указано выше, просто добавьте в качестве параметра.

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] со свойствами message, subject, url и chooserTitle поэтому нет никаких причин, это не должно быть в состоянии работать.

+0

Требуется сценарий 2. Он работает так, как я хотел. Большое вам спасибо за ответ. – SGhaleb