Angularjs 如何从一个提供商工厂调用两个服务?
嗨,我想发布一个讨论,然后我想让用户对它发表评论。为此,我公开了两个rest服务,下面是我定义它们的代码。发帖很好,但当我发表评论时,它不起作用。请让我知道我哪里出了问题????如果错了,你能建议正确的方法吗 请注意:我是全新的Angularjs,我的应用程序需要它!提前非常感谢 controller.jsAngularjs 如何从一个提供商工厂调用两个服务?,angularjs,rest,jakarta-ee,angularjs-directive,angularjs-scope,Angularjs,Rest,Jakarta Ee,Angularjs Directive,Angularjs Scope,嗨,我想发布一个讨论,然后我想让用户对它发表评论。为此,我公开了两个rest服务,下面是我定义它们的代码。发帖很好,但当我发表评论时,它不起作用。请让我知道我哪里出了问题????如果错了,你能建议正确的方法吗 请注意:我是全新的Angularjs,我的应用程序需要它!提前非常感谢 controller.js 'use strict'; /* Controllers */ angular.module('myApp.cont
'use strict';
/* Controllers */
angular.module('myApp.controllers', []).
controller('MyCtrl1', function($scope, Customers) {
$scope.allcustomers = Customers.query();
}).
controller('MyCtrl2', ['$scope', 'comments', '$location',
function($scope, comments, $location) {
/* callback for ng-click 'createUser': */
$scope.createComment = function() {
comments.create($scope.PComment)
$scope.allcomments.push($scope.PComment);
$scope.PComment = "";
$location.path('/view2');
$scope.allcomments = PComment.query();
};
}
]).
controller('MyCtrl3', ['$scope', 'postmain', '$location',
function($scope, postmain, $location) {
/* callback for ng-click 'createUser': */
$scope.createPost = function() {
postmain.create($scope.PPostMain)
$scope.allposts.push($scope.PPostMain);
$scope.PPostMain = "";
$location.path('/view2');
}
$scope.allposts = postmain.query();
}]);
services.js
'use strict';
/* Services */
angular.module('myApp.services', ['ngResource'], function($provide) {
$provide.factory('postmain', function($resource) {
return $resource('http://localhost:8080/pingleMe/webresources/postmain', {}, {
query: {method: 'GET', isArray: true},
create: {method: 'POST'}
});
});
$provide.factory('comments', function($resource) {
return $resource('http://localhost:8080/pingleMe/webresources/comments', {}, {
query: {
method: 'GET',
isArray: true
},
create: {method: 'POST'}
});
});
//
// $provide.factory('Comments', function($resource) {
// return $resource('http://localhost:8080/CustomerBack/webresources/comments', {}, {
// query: {
// method: 'GET',
// isArray: true
// },
// create: {method: 'POST'}
// });
// });
});
app.js
'use strict';
// Declare app level module which depends on filters, and services
angular.module('myApp', [
'ngRoute',
'myApp.filters',
'myApp.services',
'myApp.directives',
'myApp.controllers'
]).
config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/view1', {templateUrl: 'partials/partial1.html', controller: 'MyCtrl1'});
$routeProvider.when('/view2', {templateUrl: 'partials/partial2.html', controller: 'MyCtrl2'});
$routeProvider.when('/view2', {templateUrl: 'partials/partial2.html', controller: 'MyCtrl3'});
$routeProvider.otherwise({redirectTo: '/view1'});
}]);
partila2.html
<div class="container">
<h1>What's on your mind?</h1>
<form novalidate="novalidate" class="form-horizontal">
<div class="control-group">
<div class="controls">
<textarea ng-model="PPostMain.postText" placeholder="whats in your mind" style='width:550px'></textarea>
<button ng-click='createPost()' class="btn btn-warning">Post</button>
<h4>Trending Posts</h4>
<p ng-repeat="post in allposts">
{{ post.postText}} <br>
<label ng-repeat="comnt in allcomments">{{comnt}}</label>
<textarea ng-model="PComment.commentText" placeholder="write comment" style='width:350px'></textarea>
<button ng-click='createComment()' class="btn btn-success">Comment</button>
</p>
</div>
</div>
</form>
</div>
你在想什么?
邮递
趋势帖子
{{post.postText}}
{{comnt}
议论
index.html
<!doctype html>
<html lang="en" ng-app="myApp">
<head>
<meta charset="utf-8">
<title>Pingle</title>
<link rel="stylesheet" href="css/app.css"/>
<link rel="stylesheet" href="app/lib/angular/i18n/twitter-bootstrap/css/bootstrap.css"/>
</head>
<body>
<ul class="menu">
<li><a href="#/view1">view1</a></li>
<li><a href="#/view2">view2</a></li>
</ul>
<div ng-view></div>
<!-- In production use:
<script src="//ajax.googleapis.com/ajax/libs/angularjs/x.x.x/angular.min.js"></script>
-->
<script src="lib/angular/angular.js"></script>
<script src="lib/angular/angular-resource.js"></script>
<script src="lib/angular/angular-route.js"></script>
<script src="js/app.js"></script>
<script src="js/services.js"></script>
<script src="js/controllers.js"></script>
<script src="js/filters.js"></script>
<script src="js/directives.js"></script>
<script src="app/lib/angular/i18n/twitter-bootstrap/css/bootstrap.css"></script>
</body>
</html>
平乐
我对angularjs也比较陌生。但你不应该每行都有评论吗
您现在在作用域上只有一个Pcomment。最后一行决定了pcomment的内容吗?现在,我只是想把注释数据推送到db中,我必须对注释进行一些修改,就像每行可以有多个注释一样。但是第一个不起作用,所以不能继续!我建议将注释值像comnt.newcomment一样放在comnt中。这样,每行都有自己的字段。然后,您可以将该行交给submit函数。createComment(comnt)