gpt4 book ai didi

angularjs - angular ng-if 中的按位运算

转载 作者:行者123 更新时间:2023-12-03 08:01:12 24 4
gpt4 key购买 nike

我想在特定 View 中为不同的屏幕尺寸加载不同的模板。

标记 :

<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 中不允许按位运算?

最佳答案

“|”用于过滤器,所以我猜不是,只是写一个函数。和Angular表达式语言不是javascript。有很多差异。

http://docs.angularjs.org/guide/expression

你必须写一个过滤器或一个像“按位或”这样的函数

关于angularjs - angular ng-if 中的按位运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22240831/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com