angular 的 filter用法

angular 的 filter用法,第1张

查找当前页的url

Filter的基本原型( '|' 类似于Linux中的管道模式):

Filter可以被链式使用(即连续使用多个filter):

Filter也可以指定多个参数:

货币 默认是美元符号$,想要变成其他的如人民币¥

HTML:{{ currency_expression | currency:symbol:fractionSize}}

JS:$filter(“currency”)(amount,symbol,fractionSize);

date格式化

HTML:{{date_expression | date:format:timezone}}

JS:$filter(“date”)(date,format,timezone);

number格式化 如果输入是null或undefined,那么其将被返回。如果输入的是无穷(正无穷/负无穷),将会返回无穷大的符号“∞”。如果输入不是一个数字,返回一个空字符串。

HTML:{{number_expression | number:fractionSize}}

JS:$filter(“number”)(number,fractionSize);

filter过滤数组

HTML:{{filter_expression | filter:expression:comparator}}

JS:$filter(“filter”)(array,expression,comparator);

limitTo字符串 对象的截取;创建一个只包含指定数目元素的数组或字符串。元素是按指定的值和符号(+或-)从数组、字符串或数字的开头或结尾获取的。如果输入一个数字,则转换为字符串。

HTML:{{limitTo_expression | limitTo:limit:begin}}

JS:$filter(“limitTo”)(input,limit,begin);

uppercase,lowercase大小转换

HTML:{{lowercase_expression | lowercase}}

JS:$filter(“lowercase”)(input);

json格式化

HTML:{{json_expression | json:spacing}}

JS:$filter(“json”)(object,spacing);

orderBy对象排序 通过判断表达式将指定的数组进行排序。它是按字符串的字母顺序和数值的数字排序的。

注意:如果你发现数字没有按预期排序,请确保它们实际上是被保存为数字而不是字符串。

HTML:{{orderBy_expression | orderBy:expression:reverse}}

JS:$filter(“orderBy”)(array,expression,reverse);

在filterjs中定义一个module

在appjs中加载这个module

在html中调用

参考资料:

推酷:angular中的filter用法详解

野兽:angularjs filter过滤器

访问Cookies服务在angular中是受限制的

你只能通过原生的javascript来设置

documentcookie = "someCookieName=true; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/";

>

在用户 *** 作网页时,我们有时需要监听用户关闭或者跳转网页的行为,比如像在线编辑工具,如果用户没有提交、保存就关闭页面,那一切更新的数据都会丢失,如何防止这一现象发生?本文提供了一种解决办法,但不是很友好,不得已而为之。

关于页面/浏览器关闭事件, onbeforeunload 依旧可行,不过如果使用者禁止了这一事件,那就改换别的办法吧。

关于页面跳转,也就是网址发生变化,如果要监听路由变化,有两种情况:

1再写一个 onbeforeunload 事件,事件中什么都不放置,可以让用户保存之后触发此事件;

2将 $locationChangeStart 或者 $stateChangeStart 事件放在一个全局变量中,比如vmstopListener,之后在用户触发的事件中调用一次vmstopListener()即可。

1 既然你使用了 ui-router,说明你的应用是 单页程序,既然是单页程序,首先要考虑动态路由是否有必要?只要根据用户角色 显示该角色可以访问的菜单即可,在每次路由切换的时候判断下是否有访问此路由的权限,没有就跳转到指定页面即可;

2 至于你说的动态加载 是想根据用户角色动态返回指定角色的路由、模板、controller js吗?一般项目把所有的js和模板都打包压缩成一个js,反而效果更好;

3 如果你非要想根据角色动态生成路由,可以在angular还没有启动的时候获取该用户角色的所有路由(也可以说菜单),然后循环菜单 通过 ui-router 动态加入即可;

4 这样只有路由是动态载入了,关于每个路由对应的js,如果你也想实现 动态载入的话,估计就需要使用类似 requirejs 的东西,比如 marcoslin/angularAMD · GitHub 或者 atian25/angular-lazyload · GitHub 或者自己写一个也可以,原理就是在 路由的 resolve 中加载对应的js

5 模板感觉就不需要动态加载了吧,因为使用ng,模板都是前端模板,如果要根据角色动态生成模板岂不是变成服务端渲染了。

以上就是关于angular 的 filter用法全部的内容,包括:angular 的 filter用法、angularJS怎么设置cookies保存的时间、angularjs 在未登录时,如何拦截等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9564211.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存