0

私はディレクティブを書きました:

   ensureUnique: function ($http, $parse) {
        return {
            scope: {
                ensureUniqueType: "=",
                ensureUniqueDisabled: "="
            },
         ...
        }
    },

しかし、私がこのように使用しようとすると:

<input name = "groupId" ng-show="anyFunction()" 
       type="text" ng-model="group.groupId" 
       ensure-unique="" ensure-unique-disabled="oldId != '-1'" ensure-unique-type="type" >

入力要素が非表示になりました (anyFunction の結果には依存しません)。ディレクティブスコープがngShow値を書き換えているようです

4

1 に答える 1

1

ng-show="$parent.anyFunction()"ディレクティブが新しい​​スコープを作成するため、そうする必要があります。

非表示の理由は、関数anyFunction()undefinedであるため、関数inディレクティブによってundefinedに評価されるためです。詳細については、この回答を参照してください。falsetoBoolean()ng-show

于 2013-09-27T20:48:04.503 に答える