2
我有一個控制器AppCtrl
作爲Angular指令:如何爲父範圍賦值?
scope.transaction = {}
指數看起來像
<div class="control-group">
<label class="control-label">Date</label>
<div class="controls">
<div class="control-group input-append date form_datetime">
<date-time-picker data-ng-model="transaction.date"></date-time-picker>
</div>
</div>
</div>
<div class="control-group">
<label class="control-label">Amount</label>
<div class="controls">
<div class="input-append">
<input type="text" name="transactionAmount" ng-model="transaction.amount" required>
</div>
和我的自定義指令看起來像
angular.module('customDirectives', []).directive('dateTimePicker', function() {
return {
restrict: 'E',
replace: true,
scope: {
transaction['date']: '=' # COMPILATION ERROR HERE
},
template: '<div class="control-group input-append date form_datetime">'+
'<input type="text" readonly data-date-format="yyyy-mm-dd hh:ii" name="transactionDate" ng-model="transaction.date" data-date-time required>'+
'<span class="add-on"><em class="icon-remove"></em></span>'+
'<span class="add-on"><em class="icon-th"></em></span>'+
'</div>',
link: function(scope, element, attrs, ngModel) {
var input = element.find('input');
element.datetimepicker({
format: "yyyy-mm-ddThh:ii:ssZ",
showMeridian: true,
autoclose: true,
todayBtn: true,
pickerPosition: 'bottom-left'
});
element.bind('blur keyup change', function(){
console.log('binding element');
scope.$apply(date);
});
function date() {
console.log('setting date',input.val());
scope.ngModel = input.val();
}
date(); // initialize
}
}
});
我想從我的指令到指定的日期值$scope.transaction.date
但由於編譯錯誤而失敗,我該如何實現?
怎麼樣,如果我想它是ngModel的一部分?我會做'scope:{ngModel:'='}'和' date-time-picker>'? –
daydreamer
2013-05-13 20:54:45
檢查我上面的編輯。 – Ketan 2013-05-13 21:09:49
謝謝,多數人幫助Ketan – daydreamer 2013-05-13 21:16:59