nativescript图像选择器无法正常工作

时间:2017-05-20 13:57:59

标签: image nativescript angular2-nativescript nativescript-plugin

我正在使用插件image-picker for nativescript,我复制了示例代码,看看它是如何工作的,并使其适应我的代码。但代码不起作用。当我点击按钮时,我认为应该打开我设备的屏幕库,但是当我点击按钮时没有任何反应。

以下代码是我实现此目的的方法。

album_list.component.ts

import { Component } from '@angular/core';
import { RouterExtensions } from 'nativescript-angular/router';

//image picker
var imagepicker = require("nativescript-imagepicker");


@Component({
    selector:'album_list',
    moduleId: module.id,
    templateUrl: "album_list.component.html",

})

export class AlbumListComponent{

    constructor(private routerExt: RouterExtensions ){}


    ngOnInit() {

    }

    onSelectMultipleTap() {
        console.log('Im in');

        function selectImages() {
            var context = imagepicker.create({
                mode: "multiple"
            });

            context
                .authorize()
                .then(function() {
                    return context.present();
                })
                .then(function(selection) {
                    console.log("Selection done:");
                    selection.forEach(function(selected) {
                        console.log(" - " + selected.uri);
                    });
                }).catch(function (e) {
                    console.log(e);
                });
        }

    }


}

album_list.component.html

<StackLayout>
        <Button text="Pick Multiple Images" (tap)="onSelectMultipleTap()" > </Button>
</StackLayout>

正如我所说,当我点击html中的按钮时,会出现onSelectMultipleTap函数的日志,但没有别的。

谢谢!

1 个答案:

答案 0 :(得分:1)

你没有调用selectImages(),你只需要声明它。替换为:

onSelectMultipleTap() {
    console.log('Im in');

    function selectImages() {
        var context = imagepicker.create({
            mode: "multiple"
        });

        context
            .authorize()
            .then(function() {
                return context.present();
            })
            .then(function(selection) {
                console.log("Selection done:");
                selection.forEach(function(selected) {
                    console.log(" - " + selected.uri);
                });
            }).catch(function (e) {
                console.log(e);
            });
    }
    selectImages()

}