2016-10-11 44 views
1

我正在使用AngularJS v1創建Ionic創作者以構建報價計算器。 如果用戶選擇切換,範圍等,所有字段都有一個默認值「0」。值會更改並顯示正確的值,但是當我試圖發送綁定值時,我會得到默認值「 0" 下面是該項目的測試網址:https://creator.ionic.io/share/html/2d9b0126751e#/menu/disenoweb將Ionic AngularJS示波器數據值轉換爲HTML文章

的代碼我使用:

function ($scope, $http, $stateParams) { 

    $scope.seos = [ 
     { 'value' : 0, 
     'label' : "Número palabras" 
     }, 
     { 'value' : 200, 
     'label' : "5 palabras clave" 
     }, 
     { 'value' : 400, 
     'label' : "10 palabras clave" 
     }, 
     { 'value' : 800, 
     'label' : "20 palabras clave" 
     } 
     ]; 

    $scope.accesos = [ 
     { 

     'value' : 0, 
     'label' : "Opciones" 


     }, 
     { 'value' : 200, 
     'label' : "Con panel de usuario" 

     }, 
     { 'value' : 50, 
     'label' : "Sin panel de usuario" 

     } 
     ]; 

    $scope.data = { 
     'dominio' : 0, 
     'alojamiento' : 0, 
     'logotipo' : 0, 
     'pagespeed' : 0, 
     'secciones' : 3, 
     'galerias' : 0, 
     'formularios' : 0, 
     'blogintegrado' : 0, 
     'catent' : 0, 
     'categoriasblog' : 0, 
     'entradasblog' : 0, 
     'forointegrado' : 0, 
     'seccionestotal' : 0, 
     'entradasforo' : 0, 
     'categoriasforo' : 0, 
     'mapa' : 0, 
     'soporte' : 0, 
     'login' : 0, 
     'descargadocumentos' : 0, 
     'hstienda' : 0, 
     'tiendaint' : 0, 
     'cattien' : 0, 
     'prodtien' : 0, 
     'seo' : $scope.seos[0].value, 
     'acceso' : $scope.accesos[0].value, 
     'total' : 0 
    }; 
    $scope.showdiana = function(){ 
      $scope.show=true; 
      }; 

    $scope.showemail = function(){ 
      $scope.show=true; 
      }; 

    $scope.reset = function() { 
      $scope.data = { 
       'dominio' : 0, 
     'alojamiento' : 0, 
     'logotipo' : 0, 
     'pagespeed' : 0, 
     'secciones' : 3, 
     'galerias' : 0, 
     'formularios' : 0, 
     'blogintegrado' : 0, 
     'catent' : 0, 
     'categoriasblog' : 0, 
     'entradasblog' : 0, 
     'forointegrado' : 0, 
     'seccionestotal' : 0, 
     'entradasforo' : 0, 
     'categoriasforo' : 0, 
     'mapa' : 0, 
     'soporte' : 0, 
     'login' : 0, 
     'descargadocumentos' : 0, 
     'hstienda' : 0, 
     'tiendaint' : 0, 
     'cattien' : 0, 
     'prodtien' : 0, 
     'seo' : $scope.seos[0].value, 
     'acceso' : $scope.accesos[0].value, 
     'total' : 0 
      }; 

     }; 


    $scope.resetblog = function() { 

      if($scope.data.entradasblog > 0) { 
        $scope.data.entradasblog = '0';} 

      else if ($scope.data.categoriasblog > 0) { 
        $scope.data.categoriasblog = '0';} 
     }; 

    $scope.resetforo = function() { 

      if($scope.data.entradasforo > 0) { 
       $scope.data.entradasforo = '0'; } 

      else if($scope.data.categoriasforo > 0){ 
        $scope.data.categoriasforo = '0';} 

     }; 



     var mailgunUrl = "mydomain.com"; 
     var mailgunApiKey = window.btoa("api:key-mykey"); 
     var recipient = "myemail"; 
     var subject = "Quote"; 
     var message = "Test value: " + $scope.data.dominio; 

     $scope.send = function() 
     { 
      $http(

       { 
        "method": "POST", 
        "url": "https://api.mailgun.net/v3/" + mailgunUrl + "/messages", 
        "headers": { 
         "Content-Type": "application/x-www-form-urlencoded", 
         "Authorization": "Basic " + mailgunApiKey 
        }, 
        data: "from=" + "[email protected]" + "&to=" + recipient + "&subject=" + subject + "&html=" + message 
       } 
      ).then(function(success) { 
       console.log("SUCCESS " + JSON.stringify(success)); 
      }, function(error) { 
       console.log("ERROR " + JSON.stringify(error)); 
      }); 
     }; 

    } 

我是一個AngularJS /離子新手,任何幫助將apreciated。 感謝

+0

您可以留下您的HTML代碼? – sioesi

+0

當然,檢查共享的網址 –

回答

0

我不會寫所有的代碼,但是這個工作

<label class="toggle toggle-assertive"> 
    <input ng-model="data.dominio" type="checkbox" ng-true-value="10" ng-false-value="0"> 
    <div class="track"> 
    <div class="handle"></div> 
    </div> 
</label> 

控制器:

$scope.send = function(){ 
    var dominio = Number($scope.data.dominio); 
    console.log(dominio); 
} 

Codepen

在這種情況下,你問我

<select name="seos" id="seos" ng-model="data.seos"> 
    <option ng-repeat="option in seos" value="{{option.value}}">{{option.label}}</option> 
</select> 
<button ng-click="send()">hola</button 

控制器:

$scope.seos = [ 
    { 'value' : 0, 
    'label' : "Número palabras" 
    }, 
    { 'value' : 200, 
    'label' : "5 palabras clave" 
    }, 
    { 'value' : 400, 
    'label' : "10 palabras clave" 
    }, 
    { 'value' : 800, 
    'label' : "20 palabras clave" 
    } 
    ]; 
$scope.send = function(){ 
    console.log($scope.data.seos) 
} 
+0

感謝您的答案,它的scope.data.domino,如果我將其更改爲scope.dominio它不會顯示任何原因scope.dominio不存在。 –

+0

如果我設置var message =「Dominio:」+ Number($ scope.data.dominio);我得到ReferenceError:號碼未定義 –

+0

MMM ..讓我設置代碼並更新! – sioesi