chariotsolutions nfc plugin奇怪的重复

时间:2015-02-17 15:34:32

标签: ionic-framework ionic ionicpopup

我有两个奇怪的问题:

1.-我有一个模态弹出窗口,当我打开弹出窗口时,我调用控制器并等待用户点击标签。它第一次点击,我可以听到声音,但它没有从标签中抓取任何细节。第二次以及随后的时间。它只是在我第一次点击标签时发生。

2.-第二个问题是,当我第二次扫描时,它会复制结果。让我向您展示一些解释我问题的代码:

<ion-content>
...
</ion-content>
<ion-footer-bar class="bar-positive" ng-if="showFooter" ng-controller="NFCCtrl">
        <div>
            <button ng-click="openModal(1)" class="button button-icon">
                TEST
            </button>
        </div>
</ion-footer-bar>
<script id="nfc.html" type="text/ng-template">
        <div class="modal">
            <header>
                <h1 class="title">NFC</h1>
                <div class="button button-clear" ng-click="closeModal(1)"><span class="icon ion-close"></span></div>
            </header>
            <ion-content>
                <div>
            ...
                </div>
            </ion-content>
        </div>
    </script>

.controller('NFCCtrl', function ($scope, $ionicModal, $ionicPlatform) {

$ionicModal.fromTemplateUrl('nfc.html', {
        id: '1', 
        scope: $scope,
        backdropClickToClose: false,
        animation: 'slide-in-up'
    }).then(function (modal) {
        $scope.oModal1 = modal;
    });

$scope.openModal = function (index) {
        if (index == 1) {
            $scope.oModal1.show();
try {
                                navigator.geolocation.getCurrentPosition(function (result) {
                                    $scope.position = result.coords;
                                    $scope.$apply();
                                    alert('modal opened!');
                                    //////////////////////////
                                    nfc.addNdefListener(function (nfcEvent) {
                                        var tag = nfcEvent.tag,
                                            ndefMessage = tag.ndefMessage;

                                        var ndef_value = nfc.bytesToString(ndefMessage[0].payload).substring(1);
                                        var some_value = ndefMessage[0]["payload"];
                                        var string_value = nfc.bytesToString(some_value);
                                        alert('hello world!');
                    // Insert value to DB
                    ...

当模态弹出窗口打开时,我可以看到alert('modal opened!');。然后我点击NFC,我得到了alert('hello world!');。到目前为止一直很好,现在我点击另一个标签,我得到了alert('hello world!'); TWICE。然后我再次点击,我得到它3次,另一次点击然后4次,依此类推。我还没弄清楚为什么要添加重复项:(

0 个答案:

没有答案