3

angularには、次のようなテンプレートが少しあります。

                <div ng-if="fieldset.expandable">
                    <label class="checkbox">
                    <input 
                        ng-model="checked"
                        value="ignore"
                        type="checkbox"
                    >
                        {{fieldset.expandable}}
                        {{checked}}

                    </label>

                </div>

ng-if 属性がある場合、{{checked}} は DOM のその部分内でのみ機能します。それ以外はただの空です。これはなぜですか、どうすればよいですか?

4

1 に答える 1

4

ディレクティブはng-if新しいスコープを作成します。オブジェクトを使用します。

<!-- works outside ng-if as well -->
{{obj.checked}}
<div ng-if="fieldset.expandable">
    <label class="checkbox">
        <input ng-model="obj.checked" value="ignore" type="checkbox">
            {{fieldset.expandable}}
            {{obj.checked}}
    </label>
</div>

コントローラーで:

$scope.obj = {"checked":""};
于 2013-09-16T13:40:50.977 に答える