2015-09-06 35 views
2

我發現瞭如何編寫AngularJS正確的方式指導添加到數據庫:https://github.com/johnpapa/angular-styleguide#factories如何將新的紀錄,AngularJS和Laravel 5正道

在Laravel,我創建了POST路線/api/addnew,現在我需要將Angular的參數傳遞給Laravel。

這是我的形式:

<form id="1" class="dd animated slideInDown ng-pristine ng-valid"> 
    <textarea class="form-control" placeholder="Vas Komentar" id="rep_text_0"></textarea> 
    <a href="javascript: void(0);" add-comment class="btn btn-default pull-right">Send</a> 
</form> 

而且我廠:

angular.module('commentsApp') 
.factory('commentFactory', dataService); 

dataSerive.$inject(); 

function dataService() { 
    var someValue = ''; 
    var service = { 
     save: save, 
     someValue: someValue 
    }; 
    return service; 

    //////////// 

    function save() { 
     /* */ 
    }; 
} 

點擊指令:

angular 
    .module('commentsApp') 
    .directive('addComment', addNewComment); 

function addNewComment() { 
    var directive = { 
     link: link, 
     restrict: 'A' 
    }; 
    return directive; 
    function link(scope, element, attrs) { 
     /* */ 
    } 
} 

我卡在如何從形式傳遞細節Angular然後用params在/ api/addnew上發佈一個post請求?

有什麼方法可以使用按鈕上的click指令向工廠發送參數?

回答

0

我不認爲是必要的點擊指令... 而不是使用ng-click和管理控制器中的數據(模型)。

<div ng-controller="yourController"> 
    <form id="1" class="dd animated slideInDown ng-pristine ng-valid"> 
     <textarea class="form-control" placeholder="Vas Komentar" id="rep_text_0" ng-model="yourCommentModel"></textarea> 
     <a href="#" class="btn btn-default pull-right" ng-click="sendText(yourCommentModel)">Send</a> 
    </form> 
</div> 

在您的控制器中,您可以使用$ http或您自己的工廠。

yourApp.controller('yourController', function($scope, $http, yourFactory){ 
    $scope.sendText = function(data){ 
     //http code... 
     //or yourFactory code.. 
    }; 
});