您的位置:首页 > 产品设计 > UI/UE

前后端分离的j2ee的web项目,使用vue方式,即{{}}方式批量传入前端参数,遇到一个一个问题,页面上一开始有{{}},怎么处理?

2017-06-06 14:10 1161 查看
我要实现如下功能,页面刚打开的时候,不写入{{}}。

点击拷贝。找到该身份证对应的用户,然后将姓名、姓名拼音、身份证号写入。

这就有一个问题,页面刚加载上来的时候,会有{{NAME}}、{{NAME_SPELL}}这种东西,但是在html代码中又肯定不能去掉,因为如果去掉,就不能vue了,怎么办。



答:在页面加载完毕之后,就执行一个JavaScript,new 一个vue,但是data设为空。

$(function() {

new Vue( {

                                el : "#test",

                                data : ""

                       })

});

这样就没有问题了。这些{{}}就不会显示了(其实是html代码中{{}}位置取不到值而已,即从data中找不到NAME、NAME_SPELL属性对应的值)。

但是这样有个问题,就是在点击“拷贝”按钮时候,还要new vue一次,但是发现,vue竟然不能new两次,第二次就没有用了,但是也不报任何错误:



------------------最终的解决办法:

使用div的hidden,

将所有的控件,复制一份到另一个div中,一个div(记为nodiv)中有{{}},一个div(记为yesdiv)中没有{{}}。

1)点击“拷贝”之前,显示nodiv的,yesdiv隐藏。

2)点击“拷贝”之后,显示yesdiv,nodiv删除(即$("#nodiv").html("")清空代码即可,为什么要清空?因为会影响保存,提交的时候,每一个控件都有两个重名的,会有问题)。

-----------------------为什么不能创建多个new vue?

答案是:当然可以。

 vue不是不可以new多次,而是因为,第一次vue的时候,{{}}就被实际值替换了,所以{{}}这个符号就不存在了,那么vue就无处放失了,就好像根本不起作用的感觉。所以,vue写入{{}}就是一锤子买卖,不光vue,$这种也是一锤子买卖。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐