carpho

335 经验值

我加你了…… 你没有通过 关于搬瓦工的事情我想和你请教请教

求推荐一款价格合理( 年费 ¥ < 400元 )的科学上网工具。
目前ISP是中国电信,百兆光纤,IP在新疆,网络管控比较严格,很多工具都失效了。
今天刚刚购入云梯,付费后所有服务器连接不成功,实在无语。
现在又尝试了GREEN,延迟太高,GITHUB打开速度在10s左右。

如题,可以公开下源代码么?教程其实对我来说看一遍就够了,如果忘记了的东西可以翻代码看,反复看视频实在浪费时间。

谢谢JellyBool,就是特别想在JAVA领域找一个这样的自媒体视频教程.

最早从laravel国内的论坛知道Laravist,喜欢LARAVEL框架.
很喜欢Laravist,已经订阅了一年,以后会一直订阅下去。
最近因项目使用JAVA语言,本人新手,望大家推荐类似Laravist这样的JAVA_WEB开发框架中文视频学习网站。不甚感谢!

目前据我所知,个人的视频学习站比较好的有宁皓网http://ninghao.net/,还有就是https://laravist.com了。

<script>
    Vue.http.headers.common['X-CSRF-TOKEN'] = document.querySelector('#token').getAttribute('value');
    new Vue({
        el: '#container',
        data: {
            messages: [

            ],
            newMessage: {
                name: 'carpho',
                avatar: '<img src="/images/default-avatar.png" class="img-circle">',
                content: ''
            },

            newComment: {
                conversation_id: '47',
                type: 'discuss',
                user_id: '53',
                discuss_user_id: '53',
                content: ''
            }

        },
        methods: {
            onSubmitForm: function(e) {
                e.preventDefault();
                var message = this.newMessage;
                var comment = this.newComment;
                comment.content = message.content;
                this.$http.post('/discuss/47/replies', comment,function(response){
                    message.content = response.html;
                    this.messages.push(message);
                });
                this.newMessage = {
                    name: 'carpho',
                    avatar: '<img src="/images/default-avatar.png" class="img-circle">',
                    content: ''
                };

            }
        }
    });
</script>

这是那个通知消息么 我看到上面写着img-circle @JellyBool

 <script>
    Vue.http.headers.common['X-CSRF-TOKEN'] = document.querySelector('#token').getAttribute('value');
    var MyComponent = Vue.extend({
        template: '#forum-post-like-button-template',

        props:['commentId','currentUser','userLiked'],

        data: function() {
            return {
                replyId:'',
                liked: false,
                current:'',
                likes: 0,
                users: []
            };
        },

        ready: function() {
            this.users = this.userLiked.length > 0 ? this.userLiked.split(',') : [];
            this.likes = this.users.length;
            this.liked  = this.users.indexOf(this.currentUser) > -1;
        },

        methods: {
            doLike: function() {
                if(this.currentUser.length > 0){
                    this.liked = ! this.liked;
                    if ( this.liked) {
                        this.likes++;
                        this.addUserToList();
                    } else {
                        this.likes--;
                        this.removeUserFromList();
                    }
                }else{
                    document.querySelector('#loginButton').click();
                }

            },

            addUserToList: function() {
                this.current = this.currentUser;
                var votes = {'comment_id':this.commentId,'name':this.current};
                this.$http.post('/api/comment/votes', votes,function(response){
                });
                this.users.push(this.current);
            },

            removeUserFromList: function() {
                this.current = this.currentUser;
                var votes = {'comment_id':this.commentId,'name':this.current};
                this.$http.post('/api/comment/cancel', votes,function(response){
                });
                this.users.$remove(this.current);
            }
        }
    });
    Vue.component('forum-post-like-button', MyComponent);
    new Vue({ el: '.replies__vue' });
</script>
            <script>
    new Vue({
        el: '#navbar-notifications',
        data: {
            user_id:**,
            name:'***',
            title: $('title').text(),
            active: false
        },
        ready: function() {
            this.$http.get('/events/count', function (data) {
                this.active = data > 0 ? true : data > 0;
                document.title = data > 0 ?'('+data+')'+this.title: this.title;
                this.$set('count', data);
            });

            var pusher = new Pusher('2fa0ac88454b92ad6455', {
                encrypted: true
            });
            pusher.subscribe('you_have_new_notifications').bind('App\\Events\\YouHaveNewNotifications',this.countNotification)
        },
        methods: {
            countNotification: function (user) {
                if(user.user_id == this.user_id)
                {
                    this.count ++;
                    document.title = '('+this.count+')'+this.title;
                    this.active=true;
                    toastr.options.closeButton = true;
                    toastr.options.positionClass = 'toast-bottom-right';
                    toastr.success('<a href="/user/notifications">你有新的消息通知!</a>',this.name);
                }
            }

        }
    });
</script> 

这个是那个vue.js么 是不是和socket.io是一样的东西呢 我不太懂 这部分功能麻烦能详细说明下么 ?@JellyBool