0

如果该标签的内容不存在,我正在尝试使用 ng-show 显示/隐藏标签。例如,如果我在模型中输入了我的电话号码,那么“电话:”标签将显示下面的实际号码。不过,ng-show 似乎正在评估范围/模型,而不是基于内容/无内容的真/假……它似乎只是将其评估为假。我如何编写它来评估内容,而不是布尔值?

<input type="text" ng-model="data.product.user.phone" />
<div ng-show="data.product.user.phone">
   <div>Phone:{{data.product.user.phone}}</div>
</div>

我真的不擅长小提琴,所以请原谅这个糟糕的小提琴,那根本行不通。http://jsfiddle.net/xVZHL/2/

更新:所以小提琴有效。但我的源代码,没有。唯一的区别是我们在后端/其他地方生成和保存模型,因此它不会在主页上创建和控制,但它只是不工作......我不知道如何在小提琴中展示它。这是我不起作用的实时代码。

<field ng-show="data.product.phone" for="phone" model="data.product.phone" placeholder="Phone" type="field-view"> </field>

field 是一个指令,它具有注入到其中的模板/指令中的属性、模型和占位符。就本示例而言,data.product.phone 中肯定有内容,但没有显示,即使它应该显示,因为用 angular content = 'truthy' 的话

4

3 回答 3

1

像所有 HTML 属性一样,您需要=in ng-show

<div ng-show="data.product.user.phone">

并纠正小提琴,它的工作原理:http: //jsfiddle.net/xVZHL/2/

于 2013-11-13T15:08:52.357 回答
0

字段标签未正确关闭

<field ng-show="data.product.phone" for="phone" model="data.product.phone" placeholder="Phone" type="field-view" </field>

应该:

<field ng-show="data.product.phone" for="phone" model="data.product.phone" placeholder="Phone" type="field-view"> </field>
于 2013-11-13T16:12:54.613 回答
0

更新(已回答):: http://github.com/angular/angular.js/issues/2500 http://groups.google.com/forum/#!msg/angular/FqvC0ciG08w/k7KkyJu7zNoJ通过更多的谷歌搜索,我'已经发现一个具有隔离范围的指令,它将其评估为隔离范围,所以由于我的范围已经是 data.product.phone,它正在查看 data.product.phone 范围内的 data.product.phone,它不存在,所以它在齿轮上扔了一个扳手。将 ngshow 放入指令调用的模板中可以正常工作,并且指令调用中的代码更少。多谢你们!

于 2013-11-19T18:36:55.817 回答