0

シンプルな角度の無線グループ ディレクティブを作成しようとしています。コンポーネントには、文字列の配列、ID、および選択したオプションをバインドする属性が渡されます。コードを実行すると、次のエラーが表示されます

angular.js:13642TypeError: a.match は関数ではありません

ここに私が持っているものがあります: app.js:

angular.module('atp', [])
.directive('appform', require('./application-directive'))
.directive('radioGroup', require('./radio-group/radio-group-directive'))
.directive('yesNoRadioGroup', require('./radio-group/yes-no-radio-group-directive'));

radio-group-directive.js:

function RadioGroupDirective(){
    return{
        restrict:'E',
        transclude:true,
        template:require('./radio-group-template.html'),
        replace:true,
        scope:{
            id:'=',
            selected:'=',
            options:'='
        }
     }
}
module.exports = RadioGroupDirective;

ラジオ グループ テンプレート.html:

<div>
    <label for="{{radioGroupId}}"><ng-transclude></ng-transclude></label>
    <fieldset id="{{radioGroupId}}">
        <div ng-repeat="option in optionsArray track by $index">
            <label for="{{radioGroupId}}-{{$index}}">{{option}}</label>
            <input  id="{{radioGroupId}}-{{$index}}" type="radio" value="option" ng-model="selectedOption">
        </div>
    </fieldset>
</div>

yes-no-radio-group-directive.js:

function YesNoRadioGroupDirective() {
    return {
        restrict: 'E',
        transclude:true,
        template: require('./radio-group-template.html'),
        replace: true,
        scope: {
            RadioGroupId: '=',
            selectedOption: '=',
            optionsArray: ['Yes', 'No']
        }
    }
}
module.exports = YesNoRadioGroupDirective;

利用方法:

<form>
    <yes-no-radio-group radio-group-id="test" selected-option="Controller.Form.SelectedYesNo">Select Yes or No:</yes-no-radio-group>
    <radio-group radio-group-id="test-radio" options-array="['Hello World','Some Other Option']" selected="Controller.Form.SelectedYesNo">Select one of the options:</radio-group>
</form>
4

1 に答える 1

0

なぜあなたはこれをやっている?最初にrequireする必要はありませんinstance。次に、htmlが必要な場合templateUrlはテンプレートの代わりに必要です

template:require('./radio-group-template.html'),
于 2016-06-14T22:56:27.780 に答える