如何根据元素的文本内容切换AngularJS中的可见性?

时间:2014-06-19 18:57:44

标签: javascript angularjs

想象一下,我有以下HTML:

<p id="message" ng-show="something"></p>

现在,在页面的生命周期内{AJ}调用后,#message可以填充一些短信。

我希望#message根据它是否包含某些内容来切换自身可见/隐藏。

类似的东西:

<p id="message" ng-show="self.text != ''"></p> <!--Not working but you get the idea -->

2 个答案:

答案 0 :(得分:2)

我最好的建议是将#message的内容绑定到范围变量。

<p id="message" ng-show="Content != ''">{{Content}}</p>

然后你只需要更新$ scope.Content的值来改变#message的内容及其可见性。

答案 1 :(得分:1)

Feussy的正确之处在于将#message元素的内容绑定到范围变量是正确的方法。

如果由于某种原因您不能或不想将内容绑定到Controller中的变量,您可以直接在元素上绑定内容,这将使您更接近您正在寻找的语法。

<p id="message" ng-bind="self.text" ng-show="self.text !== ''"></p>

Here is a working example.