通过下表修改数组,HTML5学习笔记

function draw(id) {
              var ctx = document.getElementById(id).getContext('2d');

              // 画渐变背景设置渐变样式
              var g1 = ctx.createRadialGradient(200,200,0,200,200,200);
                    g1.addColorStop(0,'rgb(255,255,255)');
                  g1.addColorStop(1,'rgb(220,220,220)');
                  ctx.fillStyle =  g1;
                  ctx.fillRect(0,0,400,400);

             // 中心点移动到(200,200) 
             ctx.translate(200,200);
              for (var i=1;i<6;i++){ 

                // 保存当前状态
                ctx.save();

                // 设置当前颜色
                ctx.fillStyle = 'rgb('+(51*i)+','+(255-51*i)+',255)';

                for (var j=0;j<i*6;j++)
                { 
                      // 旋转
                      ctx.rotate(Math.PI*2/(i*6));

                      // 画圆
                      ctx.beginPath();
                      ctx.arc(0,i*30,8,0,Math.PI*2,true);
                      ctx.fill();
                }

                // 返回上次保存状态
                ctx.restore();
              }
        }

会导致Vue无法更新View。

最近利用vue第三方UI
MuseUI开发webapp,然后在导航栏这里出现了问题,我需要在导航栏上的几个路由上显示底部导航栏,在其他路由上不显示,就这个问题,MuseUI的底部导航栏直接加载在app.vue里面,会每个页面都有导航栏,所以这种方式不可行,后来我真的使出了浑身解数,去MuseUI作者GitHub上面提问,无果,去segmentfault上面提问,无果,去vue官方群提问,无果,在提问之前,我都是经过一番搜索,思考的,但是这些都让我崩溃了。可能出错的地方从路由URL,museUI的使用BUG,到加入钩子函数,都预想过,都不是,没关系,坚持就是胜利,可能是我的努力感动了上苍,找到了解决方案。

window.onload = function()
        {
            draw("myCanvas");
        }

Vue可以监听数组的splice、push、unshift等方法调用,所以,上述代码可以正确更新View。

app.vue

执行代码

或者,通过splice()方法,删除某个元素后,再添加一个元素,达到“赋值”的效果:

const router = new VueRouter({
 mode: 'history',
 routes: [
  { path: '/first', component: firstView, meta: { navShow: true, cname: '一级页面' }, name: 'first' },
  { path: '/sub', component: subView, meta: { navShow: false, cname: '子页面' }, name: 'sub' },
 ],
});

画图代码,放在head里

vm.todos[0] = {
  name: 'New name',
  description: 'New description'
};
<Bar v-show="$route.meta.navShow">

HTML代码

vm.todos[0].name = 'New name';
vm.todos[0].description = 'New description';

router.js

发表评论

电子邮件地址不会被公开。 必填项已用*标注

标签:
网站地图xml地图