Angular:在指令中传递对象并检查它们是否为标志

时间:2017-02-10 12:07:50

标签: javascript angularjs

我试图通过指令传递对象作为标志并启用/禁用它们。

@ECHO OFF

REM DECRYPT THE CONTENTS CONTAINED IN THE appSettings SECTON OF THE WEB.CONFIG FILE
C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -pdf "appSettings" "Folder path to web.config"

REM DECRYPT THE CONTENTS CONTAINED IN THE connectionStrings SECTON OF THE WEB.CONFIG FILE
C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -pdf "connectionStrings" "Folder path to web.config"

REM PAUSE FOR VERIFICATION ON THE SCREEN OF WHAT HAPPENED.
PAUSE

@ECHO ON

指令HTML内部:

  <my-directive flags="{button: true, banner: false}"></my-directive>

指令JS:

<div ng-show="{button==='true'}" >
  Button
</div>
<div ng-show="{banner==='true'}" >
  Banner
</div>

我做错了什么?提前谢谢。

3 个答案:

答案 0 :(得分:1)

你必须使用flag

<div ng-show="flags.button===true" >
  Button
</div>
<div ng-show="flags.banner===true" >
  Banner
</div>

三元方程(===)检查除了值相等之外的类型相等。

答案 1 :(得分:0)

使用flags中定义的scope对象。而你根本不需要括号。

<div ng-show="flags.button" >
  Button
</div>
<div ng-show="flags.banner" >
  Banner
</div>

答案 2 :(得分:0)

使用flags.button

进行访问

Working Plunker:https://plnkr.co/edit/RDKaWleE2KlYOttoqKi4?p=preview 检查Plunker中的directive.html

E.g。

Directive:
<div ng-show="flags.button === true" >
  Button
</div>
<div ng-show="flags.banner === true" >
  Banner
</div>