アプリケーション全体で使用されるカスタム ラジオ ボタン コンポーネントを angular js で作成しました。以下は、私がコンポーネント用に書いたコードです。
JS
angular.module("customComponent")
.component("ngRadiobutton", {
template:
'<label class="ng-control-radio-button">' +
' <span data-ng-bind="$ctrl.label"></span>' +
' <input type="radio" name="{{$ctrl.group}}" data-ng-model="$ctrl.checked"/>' +
' <div class="ng-control-indicator-radio"></div>' +
'</label>' +
'',
bindings: {
label: '=?',
checked: '=',
group: '@'
},
controller: function () {
var $ctrl = this;
console.log($ctrl.checked); // Data is binding properly at this stage
}
});
HTML
<div data-ng-repeat="radio in vm.radioValues">
<ng-radiobutton label="radio.label " group="group1 " checked="radio.checked"></ng-radiobutton>
</div>
JSON
vm.radioValues = [{ label: 'Value1', checked: true },
{ label: 'Value2', checked:false }
];
私が直面している問題は、設定している真と偽の値がコンポーネントにバインドされていないことです。デフォルトでは、両方のラジオ ボタンがオフになっています。私のコードの何が問題なのか誰にも教えてもらえますか?
前もって感謝します