我有这个指令:
.directive('myDate', ['$timeout', '$rootScope', '$locale',
function ($timeout, $rootScope, $locale) {
'use strict';
return {
restrict: 'A',
scope: {
customDate: '='
},
// the rest part of directive...
};
}
]);
我知道如何将变量传递给仅限于元素的指令。但是当指令以属性:
给出时,该方法不起作用<div class="input-group date" my-date custom-date="testDate">
<input type="text" class="form-control" ng-model="dateFrom" />
</div>
其中:
scope.testDate= new Date('2015-01-13')
我怎样才能让它发挥作用?
答案 0 :(得分:0)
在大多数情况下,您的代码应该有效。剩下的就是working plunker。 OP只有一些小问题。在控制器中,绑定到directive属性的属性必须具有相同的名称(scope.date
应该是scope.testDate
)等。
控制器:
app.controller('Ctrl', function($scope) {
$scope.testDate = new Date('2015-01-13')
});
指令:
app.directive('myDate', ['$timeout', '$rootScope',
function ($timeout, $rootScope) {
'use strict';
return {
restrict: 'A',
scope: {
customDate: '='
},
link(scope) {
console.log(scope.customDate);
}
};
}
]);
HTML:
<body ng-app="myApp">
<div ng-controller="Ctrl">
<div class="input-group date" my-date custom-date="testDate">
<input type="text" class="form-control" ng-model="dateFrom" />
</div>
</div>
</body>