我使用了Viima的Jquery-comments。尝试使用此插件时,我遇到两个问题。
它不存储数据,数据存储在data.json文件中,并且该信息仅临时存储。当我刷新页面时,我的评论消失了。
我无法使用我在AngularJS中的用户名
我尝试的事情:
我尝试将角度数据直接放入JSON,包含的JS文件和HTML中。我一直收到undefined。
以下是 HTML :
中初始化库的方法<script type="text/javascript">
$(function() {
$('#comments-container').comments({
profilePictureURL: 'https://viima-app.s3.amazonaws.com/media/user_profiles/user-icon.png',
roundProfilePictures: true,
textareaRows: 1,
enableAttachments: true,
getComments: function(success, error) {
setTimeout(function() {
success(commentsArray);
}, 500);
},
postComment: function(data, success, error) {
setTimeout(function() {
success(data);
}, 500);
},
putComment: function(data, success, error) {
setTimeout(function() {
success(data);
}, 500);
},
deleteComment: function(data, success, error) {
setTimeout(function() {
success();
}, 500);
},
upvoteComment: function(data, success, error) {
setTimeout(function() {
success(data);
}, 500);
},
uploadAttachments: function(dataArray, success, error) {
setTimeout(function() {
success(dataArray);
}, 500);
},
});
});
</script>
以下是 data.json 文件,其中包含示例评论:
var commentsArray = [
{
"id": 1,
"parent": null,
"created": "2015-01-01",
"modified": "2015-01-01",
"content": "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed posuere interdum sem. Quisque ligula eros ullamcorper quis, lacinia quis facilisis sed sapien. Mauris varius diam vitae arcu.",
"fullname": "{{ navvm.currentUser.name }}",
"profile_picture_url": "https://app.viima.com/static/media/user_profiles/user-icon.png",
"created_by_admin": false,
"created_by_current_user": false,
"upvote_count": 3,
"user_has_upvoted": false
}
]
以下是 comment-data.js 的名称部分:
// Name
var nameText = commentModel.createdByCurrentUser ? this.options.textFormatter(this.options.youText) : commentModel.fullname;
var name = $('<div/>', {
'class': 'name'
});
if(commentModel.profileURL) {
var link = $('<a/>', {
href: commentModel.profileURL,
text: nameText
});
name.html(link);
} else {
name.text(nameText);
}
这是我的示例角度控制器:
(function() {
angular
.module('meanApp')
.controller('profileCtrl', profileCtrl);
profileCtrl.$inject = ['$location', 'meanData'];
function profileCtrl($location, meanData) {
var vm = this;
vm.user = {};
meanData.getProfile()
.success(function(data) {
vm.user = data;
})
.error(function (e) {
console.log(e);
});
}
})();