Javascript AngularJS指令:在模板中插入属性值

Javascript AngularJS指令:在模板中插入属性值,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我是AngularJS的新手,我有以下问题 我有一个HTML元素: <div class="hn-multi-select" array-of-strings="testArray"> </div> 但它应该显示为 <select name="" id="" multiple="" ng-model="dModelTest" ng-options="dm.name for dm in dModelTest" class="ng-pristine n

我是AngularJS的新手,我有以下问题

我有一个HTML元素:

    <div class="hn-multi-select" array-of-strings="testArray">
    </div>
但它应该显示为

<select name="" id="" multiple="" ng-model="dModelTest" ng-options="dm.name for dm in dModelTest" class="ng-pristine ng-valid"></select>


你们对这个问题有什么建议吗?

在代码中,您忘记了用

ng-options="dm as dm.name for dm in pahn"
此外,在您不需要重写编译函数的情况下,定义模板就足够了

下面是一个工作示例。 希望它能帮助你

.controller('ParentController',函数($scope){
$scope.array=[{name:'hi'},{name:'ho'},{name:'hu'}];
})
.指令('toSelectList',函数(){
返回{
范围:{
pahn:'=toSelectList'
},
限制:“A”,
替换:正确,
模板:“”+
''
}
该指令获取项目数组并使用它们创建一个选择列表

项目名称将绑定到输入文本

<select name="" id="" multiple="" ng-model="dModelTest" ng-options="dm.name for dm in dModelTest" class="ng-pristine ng-valid"></select>
ng-options="dm as dm.name for dm in pahn"
    .controller('ParentController', function($scope) {
        $scope.array = [{name: 'hi'}, {name: 'ho'}, {name: 'hu'}];
    })
    .directive('toSelectList', function () {
        return {
            scope: {
                pahn: '=toSelectList'
            },
            restrict: 'A',
            replace: true,         
            template: '<div><input type="text" ng-model="selectedValue.name">'+
'<select ng-model="selectedValue" ng-options="dm as dm.name for dm in pahn"></select></div>'

        }