加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 角度ng-if内的按位运算

发布时间:2020-12-17 17:18:50 所属栏目:安全 来源:网络整理
导读:我想在特定视图中为不同的屏幕尺寸加载不同的模板. 标记: div id="phoneMetaDiv" class="visible-xs"!-- Visible on phones --/divdiv id="tabletMetaDiv" class="visible-sm"!-- Visible on tablets --/divdiv id="desktopMetaDiv" class="visible-md"!--
我想在特定视图中为不同的屏幕尺寸加载不同的模板.

标记:

<div id="phoneMetaDiv"      class="visible-xs"><!-- Visible on phones  --></div>
<div id="tabletMetaDiv"     class="visible-sm"><!-- Visible on tablets  --></div>
<div id="desktopMetaDiv"    class="visible-md"><!-- Visible on desktops --></div>
<div id="giantScrMetaDiv"   class="visible-lg"><!-- Visible on giant screens --></div>

应用脚本:

app.run(function ($rootScope) {


    $rootScope.Views = {
            Phone   : 1,//0001
            Tablet  : 2,//0010
            Desktop : 4,//0100
            GiantScr: 8,//1000
    };

    if($("#giantScrMetaDiv").is(":visible"))
        $rootScope.CurrentView = $rootScope.Views.GiantScr;
    else if($("#desktopMetaDiv").is(":visible"))
        $rootScope.CurrentView = $rootScope.Views.Desktop;
    else if($("#tabletMetaDiv").is(":visible"))
        $rootScope.CurrentView = $rootScope.Views.Tablet;
    else if($("#phoneMetaDiv").is(":visible"))
        $rootScope.CurrentView = $rootScope.Views.Phone;
    else
        throw "invalid view";

    $rootScope.View = function (value) {
        return ($rootScope.CurrentView & value) !=0;
    };
}

更多HTML

<div ng-if="View(Views.Desktop | Views.GiantScr)"> Include for template 1... <div>
<div ng-if="View(Views.Phone)"> Include for template 2... <div>

而错误:

Error: [$parse:syntax] Syntax Error: Token '|' is unexpected,expecting [)] at column 20 of the expression [View(Views.Desktop | Views.GiantScr)] starting at [| Views.GiantScr)].

这是否意味着在ng-if中不允许按位操作?

解决方法

我遇到了同样的问题,但我刚刚使用过

使用标志枚举添加最终与按位或相同.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读