我有使用ng-repeat
創建的div的數量。這些div的ID都是這樣爲什麼一個元素的ID在添加指令後發生變化
id={{""+date.getDate()+"-"+date.getMonth()+"-"+date.getFullYear()+"-"+time+":00"}}
分配,這樣一個div的ID變成這樣id="10-0-2014-00:00"
,但是當我在DIV添加droppable
(custome指令),ID成爲該id="---:30"
。可能是什麼問題?有沒有解決方案來避免這個問題?
可放開directive-
app.directive('droppable', function() {
return {
scope: {
drop: '&',
bin: '='
},
link: function(scope, element) {
// again we need the native object
var el = element[0];
el.addEventListener(
'dragover',
function(e) {
e.dataTransfer.dropEffect = 'move';
// allows us to drop
if (e.preventDefault) e.preventDefault();
return false;
},
false
);
el.addEventListener(
'dragenter',
function(e) {
return false;
},
false
);
el.addEventListener(
'dragleave',
function(e) {
return false;
},
false
);
el.addEventListener(
'drop',
function(e) {
// Stops some browsers from redirecting.
if (e.stopPropagation) e.stopPropagation();
var binId = this.id;
console.log(this)
var item = document.getElementById(e.dataTransfer.getData('Text'));
console.log(item)
//this.appendChild(item);
// call the passed drop function
scope.$apply(function(scope) {
var fn = scope.drop();
if ('undefined' !== typeof fn) {
fn(item.id, binId);
}
});
return false;
},
false
);
}
}
});
您是否故意要爲此指令創建自己的(獨立)範圍?如果沒有,我建議你刪除你的指令的範圍屬性。 '日期'可能不存在於你的隔離範圍內。 –