我正在尝试这个:
http://plnkr.co/edit/IzhScWwcy6owjsPKm2Fs?p=preview
<!doctype html>
<html ng-app="plunker" >
<head>
<meta charset="utf-8">
<title>AngularJS Plunker</title>
<link rel="stylesheet" href="style.css">
<script>document.write("<base href=\"" + document.location + "\" />");</script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.js"></script>
<script src="app.js"></script>
</head>
<body ng-controller="MainCtrl">
xx<div admin-select
admin-id="examType"></div>xx
</body>
</html>
和
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>
的ID。
答案 0 :(得分:0)
您必须将admin-id
属性的值放在撇号下,因为您要设置值。 Example
<div admin-select admin-id="'examType'"></div>
否则,您在控制器中设置范围变量,并将此变量传递给指令:
app.controller('MainCtrl', function($scope) {
$scope.myId = 'examType'
});
<div admin-select admin-id="myId"></div>
答案 1 :(得分:0)
template: '<div id="{{$parent.adminId}}"></div>'
Angular的文档有这个“模板的根总是得到一个新的范围。”,也许这就是原因。
<强> Upddated 强>
这个答案不起作用...... =)