2017-01-08 7 views
1

$リソースを理解しようとしていますが、どこから起動するのか分かりません。 REST APIを使用してデータをdbに保存しようとしています。

これは私のフォームです:

<ion-view title="Add New Device" ng-controller="addDevice"> 
<ion-content> 
    <form name="addDeviceForm" ng-init="setFormScope(this)" data-ng-submit="deviceSubmit()"> 
     <div class="list" style="background:#ffffff;"> 
      <div class="item item-divider"> 
       Device Info 
      </div> 
      <label class="item item-input item-stacked-label"> 
       <span class="input-label">Name</span> 
       <input type="text" placeholder="Name" ng-model="newDevice.name"> 
      </label> 
      <label class="item item-input item-stacked-label"> 
       <span class="input-label">Icon</span> 
       <input type="text" placeholder="Icon" ng-model="newDevice.icon"> 
       <select ng-model="newDevice.icon" ng-options="ionicon.name for ionicon in ionicons"></select> 
      </label> 

      <div class="item item-divider"> 
       Location 
      </div> 
      <label class="item item-input item-select"> 
       <div class="input-label"> 
        Select a Location 
       </div> 
       <select ng-model="newDevice.locationSelect" ng-options="o.id as o.name for o in locations"></select> 
      </label> 
      <div class="item item-divider"> 
       Select Action 
      </div> 
      <label class="item item-input item-select"> 
       <div class="input-label"> 
        Action 
       </div> 
       <select ng-model="newDevice.actionSelect" ng-options="o.id as o.name for o in actions"></select> 
      </label> 
      <div class="item item-divider"> 
       Featured 
      </div> 
      <li class="item item-toggle"> 
       Featured 
       <label class="toggle toggle-balanced"> 
        <input type="checkbox" checked ng-model="newDevice.featured"> 
        <div class="track"> 
         <div class="handle"></div> 
        </div> 
       </label> 
      </li> 
     </div> 
     <div class="padding"> 
      <button class="button button-balanced" ng-click=""> 
       Add Device 
      </button> 
     </div> 
    </form> 
</ion-content> 

は、その後これが私の角度のコードですが、私は、データを追加した場合、私は、彼らがフラッシュされますrefres場合は今のところ、彼らは、キャッシュに追加されます私はDBに永続的な変更を加えてデータを追加したいと考えています。

.controller('addDevice', function ($scope) { 
    $scope.setFormScope = function (scope) { 
     this.formScope = scope; 
    }; 
    $scope.newDevice = {}; 
    $scope.deviceSubmit = function() { 

     if (!$scope.newDevice.name) { 
      $scope.showAlert('Name Required'); 
      return; 
     } 
     if (!$scope.newDevice.icon) { 
      $scope.newDevice.icon = 'ion-ios7-lightbulb-outline'; 
     } 
     if ($scope.newDevice) { 
      $scope.showAlert('Device Added'); 
     } 
     $scope.newDevice.id = $scope.devices.length + 2; 
     $scope.devices.push($scope.newDevice); 
     this.formScope.addDeviceForm.$setPristine(); 
     var defaultForm = { 
      id: "", 
      name: "", 
      icon: "", 
      status: "", 
      color: "", 
      userSelect: "", 
      actionSelect: "", 
      locationSelect: "" 
     }; 
     $scope.newDevice = defaultForm; 
    }; 
}) 

また、これはPOSTオプションとHEAD をGET受け入れ、これはそれがどのように見えるべきかであるパス/ API /デバイス/です:

{ "名": "何か"、 」ホスト ": "何か"、 "アイコン": "何か"、 "状態": "何か" は、 "特色":ブール、 "ピン":1 }

私が開始する必要があります:( ありがとうございます

答えて

0

これは私がしなければならなかったものです。

var deviceResource = $resource('/api/devices/'); 
      deviceResource.save($scope.newDevice, onSuccess, onError); 

      function onSuccess(data) { 
       $scope.showAlert('Device Added'); 
      } 

      function onError(data) { 
       console.dir(data); 
      } 
関連する問題