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