11

ng-if を使用すると、2 番目のボタンが機能しないのはなぜですか?

モデル値が設定されている/「」ではない/nullでない場合にのみ存在するボタンを実現したい。

テンプレート:

<input type="text" ng-model="blub"/>
<br/>
<button ng-click="blub = 'xxxx'">X</button>
<br/>
<button ng-click="blub = 'yyyy'" ng-if="blub.length">Y</button>

コントローラ:

angular.module('test', [])
.controller('Main', function ($scope) {
    // nothing to do here
});

遊ぶには:JSFiddle

4

5 に答える 5

17

ng-showの代わりに使用しng-ifます。それはうまくいくはずです。

Fiddle

于 2014-11-20T12:30:45.827 に答える
4

によって作成されたネストされたスコープのため、ボタンは機能しませんng-if。2 番目のボタンへのバインドは、最初のボタンへのバインドblubと同じではありません。blub

親のスコープを使用するため、ng-show代わりに を使用できますが、それは問題を解決するのではなく、問題を回避するだけです。実際に何が起こったのかを理解できるように、ネストされたスコープng-ifについて読んでください。

また、これをチェックしてください:フィドル

于 2014-11-20T12:48:22.890 に答える