Avalon属性ms-text的坑

Avalon是去哪儿网的一个MVVM框架.


前两天用jsoup写了个爬虫,可以根据CSDN用户名爬取该用户的所有文章.(Github:https://github.com/leoChaoGlut/spider4CSDN)

然后我先爬了自己的,把文章放到我自己的阿里云上.

然后在处理前端数据显示的时候出现一个这样的问题:

报错:"Unexcepted token }".

我就纳闷了.......

也没用eval之类的方法,怎么运行中才报js错误...

之后调试到avalon源码,还是没找到答案.

最后看了一下界面上显示的数据,发现少了一对大括号.{}.

很好奇,之后把ms-text去掉,换成{{el}}方式显示.

结果就没有报错!

之后再进行测试:

<pre name="code" class="html"><div ms-repeat="arr">
        {{el}}
    </div>
<script>
    var vm = avalon.define({
        $id: "vm",
        arr: ["{{}}", "{{}}}"],
    })
    </script>
//正常输出:
{{}}
{{}}}


 

<div ms-repeat="arr" ms-text="el">
    </div>
 <script>
    var vm = avalon.define({
        $id: "vm",
        arr: ["{{}}", "{{}}}"],
    })
    </script>
//异常输出:
{{}}
}


原因:估计是因为avlaon解析ms-text这个attr的时候,是将整个值来解析,"{{}}"又是avalon的特殊符号,所以解析ms-text会变成"{{el}}" ,我的数据中存在{{}}负号,所以会导致avalon解析错误.

解决办法:在这种情况下,用{{el}}直接代替ms-text


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值