`

AngularJs 三目运算 表达式判断

阅读更多

事件回顾:由于需要修改同一个模板,里面包含2个不同的内容,第一个里面使用的时间差和第二个里面名称不一样,其他过滤器,内容都大同小异。希望杜绝If这样比较傻的来判断if-show or not,继续追究其源码。

var b = "{{",
      a = "}}";
        this.startSymbol = function(a) {
            return a ? (b = a, this) : b
        };
        this.endSymbol = function(b) {
            return b ? (a = b, this) : a
        };

var Ca = b.startSymbol(),
                    oa = b.endSymbol(),
                    Z = "{{" == Ca || "}}" == oa ? Fa : function(a) {
                        return a.replace(/\{\{/g, Ca).replace(/}}/g, oa)
                    }, W = /^ngAttr[A-Z]/;
                return z

 

源码剖析:其实就是把angularjs特有的{{}}符号替换掉,里面的内容接着在转成js继续处理,所以里面的表达式各种你都可以使用js特有的属性啊,内置函数啊操作它。它就是这么神奇。

 

使用指南:

<span class="remaining-time">{=__('directives_market.sl_loan_card.remain_time')=}
{{ loan.loanTimeRemaining||loan.listingTimeLeft | slRemainingTime }}
</span>

 

{{ev.email ? "{=__('validation')=}" : 
"{=__('account.summary.account_profile.bind_data')=}"}}

 

复杂型三目运算:

<input type="text" class="form-control email input-sm" id="account-email" name="email" ng-class="{inputError:userEmail.emailError}"
               ng-model="userEmail.email" required placeholder="{{userEmail.isVerified ? '{=__("account.summary.account_profile.input_new_email")=}' : '{=__("account.summary.account_profile.input_email_address")=}'}}" autocomplete="off" sl-email/>


placeholder="{{cellphoneVerification.isVerified ? '{=__('account.summary.account_profile.input_new_mobile_number')=}' : '{=__('account.summary.account_profile.input_mobile_number')=}'}}"

 

 

 

继续学习:http://each.sinaapp.com/angular/

分享到:
评论

相关推荐

    三目运算符+正则表达式

    比如,在一个输入验证功能中,我们可以用三目运算符判断用户输入是否为空,然后根据结果使用正则表达式进行进一步的验证: ```javascript let input = document.getElementById('emailInput').value; let isValid =...

    三目运算与if-else的区别

    JS中三目运算符和if else的区别分析与示例

    表达式解析引擎(支持等式表达式,不等式表达式,与或非逻辑运算表达式,支持带参数和带函数的表达式解析)

    3、支持三目运算 例如:a&gt;b?a:b 4、sin(), cos(), log(), max(), min(), datetime(), date(), time() 函数的支持 说明:网上找了一圈表达式解析引擎实现的功能都不够满足支持业务需求,于是自己造轮子实现了一个,...

    表达式解析引擎(支持等式表达式,不等式表达式,与或非逻辑运算表达式,支持带参数和带函数的表达式解析),可以在电脑,单片及上运行

    3、支持三目运算 例如:a&gt;b?a:b 4、sin(), cos(), log(), max(), min(), datetime(), date(), time() 函数的支持 说明:网上找了一圈表达式解析引擎实现的功能都不够满足支持业务需求,于是自己造轮子实现了一个,...

    JS三目运算(三元运算)方法详解

    1、什么是三目运算:(布尔表达式 ? 值0:值1;) 5&gt;3?alert&#40;‘5大’&#41;:alert&#40;‘3大’&#41;; 即 if(5&gt;3){alert&#40;‘5大’&#41;}else{alert&#40;‘3大’&#41;}; 注意:三目运算和if(){}else{}的 区别是三目...

    三目运算法则

    三目运算法则,又称为条件运算符或三元运算符,在编程语言中是一种简洁而高效的条件判断方式。它由三个操作数组成,因此得名“三目”运算。在很多编程语言中(如Java、C/C++等)均有应用。 #### 二、基本语法与结构...

    判断语句--三目运算符练习示例

    在编程领域,三目运算符是一种简洁而高效的条件判断表达方式,主要应用于C、C++、Java、Python等编程语言中。它以一种紧凑的形式替代了传统的if-else语句,使得代码更加简洁易读。本资源提供的"三目运算符"练习示例...

    Java三目运算中隐藏的自动拆装箱

    Java三目运算中隐藏的自动拆装箱 Java三目运算符是一种常用的编程结构,但是在使用时需要注意一些隐藏的自动拆装箱问题。本文将详细介绍Java三目运算中隐藏的自动拆装箱,并通过实例代码来讲解这个问题。 在Java中...

    oracle 表达式

    在Oracle数据库中,表达式是用于计算或比较值的组合,它们可以由常量、变量、函数、操作符以及子查询组成。Oracle SQL中的表达式主要用于SELECT、INSERT、UPDATE和DELETE语句,以定义列的值、筛选行或计算新值。在本...

    Python中实现三目运算的方法

    ### Python中实现三目运算的方法 在编程领域中,三目运算符是一种常见的条件运算符,它基于一个布尔表达式的真假结果返回两个不同的值之一。虽然Python并没有直接提供类似于C语言中的`?:`这样的三目运算符,但我们...

    使用Python的判断语句模拟三目运算

    值得注意的是,虽然and和or可以用作条件判断,但在复杂的逻辑表达式中使用它们可能导致难以读懂的代码,因此建议在实现三目运算模拟时尽量使用if-else语句。在编程实践中,清晰和可读性非常重要,这样其他阅读代码的...

    正则表达式实现excel判断(=IF(EXP,TRUE,FALSE))三元表达式(含各种嵌套复杂的判断表达式)分组提取内容

    14*G1,(((G2-G3)*13-1)*G1)), IF(G2,(10-(G3-G2)*2)*G1,11*G1))就不行了,因为有很多的逗号和其他符号干扰,所以研究了一个正则表达式解决了这个问题,可以是任意复杂的IF表达式,如果需要进一步的匹配子判断式,则...

    浅谈Java三目运算

    Java中的三目运算符是一种简洁的条件表达方式,它允许开发者在一行代码内完成条件判断并根据结果赋值。这种运算符的语法结构是 `x?y:z`,其中 `x` 是一个布尔表达式,`y` 和 `z` 是两个可以执行的表达式。如果 `x` ...

    判断语句 三目运算符代码

    判断语句 三目运算符代码

    JS switch判断 三目运算 while 及 属性操作代码

    三目运算替代if box.style.display = isHide?"block":"none"; 判断条件?成立执行语句:不成立执行语句。 条件成立返回:成立执行的结果 条件不成立:执行的结果 简化版的if判断 continue 跳过本次循环:不能写入

    确保正确使用三元条件表达式的ESLint规则

    在JavaScript开发中,正确使用三元条件表达式(也称为三目运算符)是提高代码可读性和效率的重要方面。`eslint-plugin-proper-ternary` 是一个专门针对这一问题的ESLint插件,旨在帮助开发者遵循最佳实践,避免潜在...

    Fel表达式引擎

    :`进行三元运算,如`$cond ? $expr1 : $expr2`。 5. **括号**:用于明确表达式的优先级,如`($a + $b) * $c`。 6. **字符串拼接**:使用`+`操作符连接字符串,如`"Hello " + $name`。 **二、Fel表达式引擎的工作...

    Python三元运算与lambda表达式实例解析

    三元运算(三目运算) # 判断两个数中的较大者 fun(a1,a2): return a1 if a1&gt;a2 else a2 v = fun(5,2) print (v) # v = 5 lambda运算(一行运算符) #规范 lambda 参数1,参数2 : 返回值 举例 fun = lambda a1,...

Global site tag (gtag.js) - Google Analytics