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'));

无线电组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>

是-否-无线电组-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

你为什么做这个?如果你需要一个html,你首先不需要instance,其次如果你需要一个html,你需要templateUrl而不是模板

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