0

そのラベルのコンテンツが存在しない場合、ラベルを表示/非表示にするために ng-show を使用しようとしています。たとえば、モデルに電話番号を入力すると、「Phone:」ラベルが表示され、実際の番号が続きます。ただし、 ng-show は、コンテンツ/コンテンツなしに基づいて true/false ではなく、スコープ/モデルを評価しているようです...それを false と評価しているようです。ブール値ではなくコンテンツを評価するにはどうすればよいですか?

<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 は、テンプレート/ディレクティブに挿入される for、モデル、およびプレースホルダーの属性を持つディレクティブです。この例の目的のために、 data.product.phone には間違いなくコンテンツが含まれていますが、表示されるべきであっても表示されません。

4

3 に答える 3

0

更新(回答済み):: http://github.com/angular/angular.js/issues/2500 http://groups.google.com/forum/#!msg/angular/FqvC0ciG08w/k7KkyJu7zNoJ 'isolate スコープを持つディレクティブを見つけたので、isolate スコープとして評価します。私のスコープはすでに data.product.phone だったので、data.product.phone のスコープ内の data.product.phone を調べていました。存在しないので、ギアにレンチを投げていました。ディレクティブが呼び出すテンプレートに ngshow を配置すると、正常に機能し、ディレクティブ呼び出しのコードが少なくなります。みんなありがとう!

于 2013-11-19T18:36:55.817 に答える
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 に答える