关于avalon2 ,ms-attr中怎么使用过滤器?

新手上路,请多包涵

ms-attr中怎么使用过滤器?

clipboard.png

不知道写法对不对,也没有相关文档

阅读 4k
1 个回答

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <script type="text/javascript" src="../dist/avalon.js"></script>
        <script>
            avalon.define({
                $id: 'test',
                el: '123456789qwert'
            })

        </script>
    </head>
    <body ms-controller="test">
        <div ms-attr="{title:@el}">333</div>
    </body>
</html>

ms-attr的值是对应一个对象,如果我们想定义一个过滤器,要处理里面的title,就需要将这个对象整个放进新过滤器。

定义一个过滤器很简单,在avalon.filters添加一个函数,名字随便。比如你要格式化title,那么这个过滤器就叫title。它会将前面的对象作为第一个参数传进去,小括号的其他参数也跟着传进去。


<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <script type="text/javascript" src="../dist/avalon.js"></script>
        <script>
            avalon.filters.title = function (obj, a, b) {
                var title = obj.title
                var newTitle = avalon.filters.truncate(title, a, b)
                obj.title = newTitle
                return obj
            }
            var vm = avalon.define({
                $id: 'test',
                el: '123456789qwert'
            })

        </script>
    </head>
    <body ms-controller="test">
        <div ms-attr="{title:@el} | title(10,'...')">333</div>
    </body>
</html>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进