3

在角度我有一些看起来像这样的模板:

                <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 回答