ms-attr中怎么使用过滤器?
不知道写法对不对,也没有相关文档
<!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>