Angular filter output html

写一个页面,在显示status(只有两种值1或0)时,为了让页面好看,当status为1时显示蓝颜色的小圆圈,为0时显示红色的小圆圈;

最开始用ngClass:

<span class="circle" ng-class="{‘disabled‘:robot.status != ‘1‘,‘enabled‘:robot.status == ‘1‘}"></span>

但是,仅仅显示个圆圈,没有title,用户不知道是啥意思,所以改用directive:

app.directive(‘robotStatusClass‘,function(){
        return {
            restrict: "A",
            require:‘^ngModel‘,
            scope:{
                status:‘=ngModel‘
            },
            template:‘<span class="circle" ng-class="class" title="{{status}}"></span>‘,
            link:function(scope){
                if (scope.status == ‘1‘){
                    scope.class = ‘enabled‘;
                    scope.title = ‘正常‘;
                }else{
                    scope.class = ‘disabled‘;
                    scope.title = ‘异常‘;
                }
            }
        };
    });

但是问题又来了,因为页面有心跳包,status时可能会变化,写的directive不符合要求,gg半天也没解决问题;

于是最后用filter来解决:

function robotStatusClass(){
        return function(input){
            if(input == ‘1‘){
                return ‘<span class="circle enabled" title="正常"></span>‘;
            }else{
                return ‘<span class="circle disabled" title="异常"></span>‘;
            }
        }
    }

没想到显示的竟然是字符串....最后gg找到了解决办法:

function robotStatusClass($sce){
        return function(input){
            if(input == ‘1‘){
                return $sce.trustAs(‘html‘,‘<span class="circle enabled" title="正常"></span>‘);
            }else{
                return $sce.trustAs(‘html‘,‘<span class="circle disabled" title="异常"></span>‘);
            }
        }
    }//<p class="form-control-static pull-left"  ng-bind-html="status | robotStatusClass"></p>

  

  

时间: 2024-10-05 16:38:08

Angular filter output html的相关文章

angular filter

首先我们先看看angular自带的过滤器 1.number filter $filter("number")(22.311,2) = 22.31; 2.date filter $filter("date")(timeStamp,'yyyy-MM-dd')  : 将long型的时间戳转换为YYYY-MM-DD时间格式 3.自定义过滤器 angular.module("myApp").filter("GetDeptNameBydeptId&

Angular - - filter 过滤器

Filter Ng里的过滤器. currency:把一个数字格式化成货币模式(如$1,234.56).当没有提供任何货币符号时,默认使用当前区域的符号. 使用: HTML:{{ currency_expression | currency:symbol:fractionSize}} JS:$filter(“currency”)(amount,symbol,fractionSize); amount:数值,过滤的值. symbol:字符串,要显示的货币符号或标识符. fractionSize:数值

前端知识点总结——Angular

前端知识点总结--Angular 一.Angular概述 基于命令行的开发方式? ①hot reload ②编译工作 ③集成了webpack打包工具 .... angular.cn 中文angular.io 正式官网angular.cn/guide/styleguide 风格指南 1.what? angular是一个Google推出的js框架,是以模块为基本单位,模块又可以包含组件.指令.过滤器.. 1.1 版本问题 angular angular2.0以后所有的版本统称为angular (当前

Logstash之Logstash inputs(file和redis插件)、Logstash outputs和Filter plugins

Filebeat啊,根据input来监控数据,根据output来使用数据!!! Filebeat之input和output(包含Elasticsearch Output .Logstash Output. Redis Output. File Output和 Console Output) Logstash啊,根据input来监控数据,根据output来使用数据!!! 手把手带你看官方文档(Logstash inputs和Logstash outputs) https://www.elastic

vim --Filter commands

命令也被称作是motion :help ! Filter commands 信息过滤 (filter) !==>tell vim to performing a filter operation !5G -> 从光标下向下5行执行过滤程序 (tell vim to start filter under cursor and go down 5 lines) :.,.+4! :10,15!sort -> 只在文件的第10行到第15行之间执行 (sort between line 10 to

Filter被push down

The filter can be pushed down directly to the base table or index, in this case, to the clustered index scan operator.It means that the filter was pushed down to the storage engine. The storage engine tests the corresponding row in database file. If

angularJs中筛选功能-angular.filter-1

技术分享:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/angular-filter-learn-1/ 以下介绍为自己在使用angular-filter时,简单总结的用法. 开始 1.你可以使用4中不同的方法来安装angular-filter: 克隆或创建这个存储库 通过bower:通过在你的终端执行:$ bower install angular-filter 通过npm:通过在你的终端执行:$ npm install an

angular drag and drop 笔记

这是原文 http://marceljuenemann.github.io/angular-drag-and-drop-lists/demo/#/simple 看起来很多功能,所以我只记入我需要的部分就好,等下次需要更多功能,再添加笔记内容. 简单需求: ·在dnd时,array里的对象会因为dnd而排序 ·在drag时,css可以有些简单效果,引导用户使用 ·不能在view里给orderBy 先做基本的注入 <script src="http://marceljuenemann.gith

input和output常用模块的讲解和使用(logstash)

1 ELK 是一个实时分布式的日志分析平台ELK 是一整套的解决方案(E)lasticsearch -- 数据库(L)ogstash -- 收集日志.标准化的程序(K)ibana -- 图形的展示工具 2 数据批量导入-X 导入使用的方法 POST--data-binary 导入数据的格式@urfile 导入数据的文件名_bulk 导入关键字curl -X "POST" "http://192.168.1.13:9200/_bulk" --data-binary @