在将作用域变量传递给ng-show之前,如何评估它

How do I evaluate a scope variable before passing it to ng-show

本文关键字:何评估 评估 之前 变量 作用域 ng-show      更新时间:2023-09-26

控制器

scope.x = 'y';
scope.y = true;

模板

<div ng-show="{{x}}"></div>

结果应该是一个可见的div,但它是隐藏的,而不是

但是html显示了我所期望的

<div ng-show="y"></div>

在我实际的更复杂的例子中,我得到了这个错误

TypeError: Cannot read property 'exp' of undefined
    at watchFnToHumanReadableString (<anonymous>:703:19)
    ...

这个plunkr显示了一个简单的例子

要评估范围变量,需要从$scope调用$eval函数。

你的代码应该是这样的:

<body ng-controller="MainCtrl">
<p ng-show="$eval(x)">Hello {{name}}!</p>
</body>