Angularjs 如何在指令的模板部分设置id的值?

Angularjs 如何在指令的模板部分设置id的值?,angularjs,angularjs-directive,Angularjs,Angularjs Directive,我正在尝试: 安古拉斯普朗克 文件。填写(“”); xxxx 及 var-app=angular.module('plunker',[]); 应用程序控制器('MainCtrl',函数($scope){ }); 应用程序指令(“adminSelect”,函数(){ 返回{ 限制:“A”, 要求:'ngModel', 范围:{ adminId:'=adminId' }, 模板:“” }; }); 这不起作用,我不明白为什么。有没有人能给我一些建议,帮我设置模板中的id。您必须将管理员id

我正在尝试:


安古拉斯普朗克
文件。填写(“”);
xxxx

var-app=angular.module('plunker',[]);
应用程序控制器('MainCtrl',函数($scope){
});
应用程序指令(“adminSelect”,函数(){
返回{
限制:“A”,
要求:'ngModel',
范围:{
adminId:'=adminId'
},
模板:“”
};
}); 

这不起作用,我不明白为什么。有没有人能给我一些建议,帮我设置模板中
的id。

您必须将
管理员id
属性的值放在撇号下,因为您要设置值


否则,在控制器中设置范围变量,并将此变量传递给指令:

app.controller('MainCtrl', function($scope) {
    $scope.myId = 'examType'
});

<div admin-select admin-id="myId"></div>
app.controller('MainCtrl',函数($scope){
$scope.myId='examType'
});

模板:“”
Angular的文档中有这样一句话:“模板的根总是有一个新的作用域。”,也许这就是原因

升级


此答案无效…=)

这只是问题中的一个输入错误。plunker示例是正确的,您是否有
id:'=adminId'
的值?将
=
设置为
@
var app = angular.module('plunker', []);

app.controller('MainCtrl', function($scope) {

});

app.directive("adminSelect", function () {
    return {
        restrict: 'A',
        require: 'ngModel',
        scope: {
            adminId: '=adminId'
        },
        template: '<div id="{{adminId}}"></div>'
    };
}); 
<div admin-select admin-id="'examType'"></div>
app.controller('MainCtrl', function($scope) {
    $scope.myId = 'examType'
});

<div admin-select admin-id="myId"></div>
template: '<div id="{{$parent.adminId}}"></div>'