我刚刚开始学习AngularJS,现在我完成了所有的教程之后,我想通过做一些像Todo App或小型博客系统这样的小项目来发布,编辑或删除帖子来自学。我到了可以创建新帖子的地步。我现在的问题是,我不想在有人添加新帖子后刷新整个页面,我希望在用户点击提交按钮后立即显示在页面上。
我的代码到目前为止:
maincontroller.js
app.controller('MainCtrl', ['$scope', 'postData', function($scope, postData) {
$scope.getData = function() {
postData.success(function(data){
console.log(data);
$scope.posts = data;
console.log("Posts are shown");
});
}
$scope.getData();
}]);
formcontroller.js
app.controller('FormCtrl', ['$scope', '$http', function($scope, $http) {
$scope.refresh = function() {
$scope.title = "";
$scope.author = "";
$scope.content = "";
console.log('Done refreshing');
}
$scope.submit = function() {
console.log($scope.title);
console.log($scope.author);
console.log($scope.content);
$http.post('php/insertdata.php',
{
ftitle: $scope.title,
fauthor: $scope.author,
fcontent: $scope.content
})
.success(function(res){
console.log(res);
$scope.refresh();
})
.error(function(err) {
console.log(err);
});
};
}]);
我的项目也在GitHub上:https://github.com/MrSmooth/ng-blog
不要判断我的编码,我知道它并不完美。 不管怎样,谢谢你的帮助!