2016-02-27 3 views
0

Я пытаюсь создать директиву checkbox с angularjs. The code is here in JSFIDDLEcheckbox директива using angularjs

Он отлично работает только с ng-моделью и текстом.

Но если я добавить нг-истинную стоимость и нг-ложное значение, то бросить ошибку как

nged2angular.js:12520 Error: [ngModel:constexpr] Expected constant expression for `ngTrueValue`, but saw `bindedTrueValue`. 

Также я должен взять на себя функцию контроллера нг-изменения внутри директивы.

ответ

0

Ну две вещи,

Во-первых, вы передаете функцию «checkboxChanged» в директиве, так и нужно использовать & ngChange в директиве рамки вместо = ngChange.

Без {{}}, bindedTrueValue и bindedFalseValue будут рассматриваться как строки, а не угловая переменная от контроллера. Таким образом, он должен быть изменен на

<input type="checkbox" ng-model="bindedModel" ng-true-value="{{bindedTrueValue}}" ng-false-value="{{bindedFalseValue}}" ng-change="bindedChange"> 

Проверьте это codepen для работы демо.

Смежные вопросы