-1

ng-model(ng-repeatで作成された情報)で動的に作成された情報を取得しようとしています。私は、オブジェクトの形で情報を私の平らなデータベースFirebaseに送るためにそうしています。残念なことに、ng-modelは私の値として ""(空の文字列)を取り込むだけです。助言がありますか?ng-repeatを使用してAngularJSがng-modelで値を取得できない

/////////// Controller below 
 

 
\t // Bookmark object 
 
\t $scope.bookmark = { 
 
\t \t url: "", 
 
\t \t illnessName: "", 
 
\t \t symptom: "" 
 
\t }; 
 

 
\t // Save illness card to bookmarks 
 
\t $scope.saveToBookmarks = ($bookmark) => { 
 
\t \t console.log($bookmark); 
 

 
\t \t if ($scope.bookmark.illnessName === ""){ 
 
\t \t \t alert("Hey, quit that NAME!"); 
 
\t \t \t return; 
 
\t \t } 
 
\t \t if ($scope.bookmark.symptom === ""){ 
 
\t \t \t alert("Hey, quit that SYMPTOM!"); 
 
\t \t \t return; 
 
\t \t } 
 
\t \t if ($scope.bookmark.url === ""){ 
 
\t \t \t alert("Hey, quit that URL!"); 
 
\t \t \t return; 
 
\t \t } 
 

 

 
\t \t BookmarksFactory.addUserBookmark({ 
 
\t \t \t url: $scope.bookmark.url, 
 
\t \t \t illnessName: $scope.bookmark.illnessName, 
 
\t \t \t symptom: $scope.bookmark.symptom 
 
\t \t }); 
 
\t \t console.log("$scope.bookmark.url :", $scope.bookmark.url); 
 
\t }; 
 
    
 
    
 
    
 
    
 
    ///////// Factory below 
 
    "use strict"; 
 

 
app.factory("BookmarksFactory", function(FBCreds, $q, $http) { 
 

 
\t var addUserBookmark = (newBookmark) =>{ 
 
\t \t console.log("Factory is working!"); 
 
\t \t return $q((resolve, reject) => { 
 
\t \t \t $http.post(`${FBCreds.databaseURL}/bookmarks.json`, 
 
\t \t \t \t JSON.stringify(newBookmark)) 
 
\t \t \t .then((FBObj) => { 
 
\t \t \t \t resolve(FBObj); 
 
\t \t \t }) 
 
\t \t \t .catch((error) => { 
 
\t \t \t \t reject(error); 
 
\t \t \t }); 
 
\t \t }); 
 
\t }; 
 

 
\t return { 
 
\t \t addUserBookmark 
 
\t }; 
 

 
});
\t \t <!-- This will be search results populate --> \t 
 
\t \t <div class="search-results" > 
 
\t \t \t <div class="row"> 
 
\t \t \t \t <div class="col-lg-4 text-center search-card box" ng-repeat="illness in illnesses | filter: searchText.search"> 
 
\t \t \t \t \t <!-- Insert search results here --> 
 
\t \t \t \t \t <div class="inner "> 
 
\t \t \t \t \t \t <div class="card"> 
 
\t \t \t \t \t \t \t <button type="button" class="close close-card" aria-label="Close" ng-click="removeCard($event)"> 
 
\t \t \t \t \t \t \t <span class="close-card-x" aria-hidden="true">&times;</span> 
 
\t \t \t \t \t \t \t </button> 
 
\t \t \t \t \t \t \t <img class="card-img-top" src="{{illness.url}}" alt="Card image cap" ng-model="bookmark.url"> 
 
\t \t \t \t \t \t \t <div class="card-block"> 
 
\t \t \t \t \t \t \t \t <h4 class="card-title" ng-model="bookmark.illnessName">{{illness.illnessName}}</h4> 
 
\t \t \t \t \t \t \t \t <p class="card-text" ng-model="bookmark.symptom">{{illness.symptom}}</p> 
 
\t \t \t \t \t \t \t \t <button class="btn btn-primary" ng-click="saveToBookmarks(bookmark)">Save</button> 
 
\t \t \t \t \t \t \t \t <a href="#!/edit-illness/{{illness.id}}"><button class="btn btn-success" ng-click="goToEditPage()">Edit</button></a> 
 
\t \t \t \t \t \t \t </div> 
 
\t \t \t \t \t \t </div> 
 
\t \t \t \t \t </div> 
 
\t \t \t \t </div> 
 
\t \t \t </div> 
 
\t \t </div>

答えて

0

$scope.bookmark ={}; に変更し、データはあなたのコードをファイル取得するには、HTTPを使用して、私の例では、test.phpを

$http(){ 
      method:'POST', 
      url:'test.php', 
      data : $.param($scope.bookmark), 
      headers : { 'Content-Type': 'application/x-www-form-urlencoded' } 
       }).then(success) 
function success(){ 
//// 

}

+0

が応答をありがとうです! –

関連する問題