我的控制器从服务中接收一些数据,这些数据必须进一步发送到指令,但我的指令似乎没有收到它。我发送的参数是" newId"在下面的代码中。 控制器接收到我通过设置和警告检查的值,但指令未定义。
**Controller:**
indApp.controller('DropboxController', ['$scope', function ($scope ) {
$scope.$on('handledrag', function() {
$scope.template = template;
$scope.newId = newfield.id;
});
}]);
**Directive:**
indApp.directive('droppable', function($compile) {
return {
restrict: "A",
scope: { template: "=" ,
newId: "=" },
link: function(scope, element)
{
// again we need the native object
var el = element[0];
var defaultProps = {};
el.addEventListener( 'dragover', function(e) {
if (e.preventDefault) e.preventDefault();
return false;
},
false
);
el.addEventListener( 'drop', function(e) {
e.preventDefault();
var droppedItem = e.dataTransfer.getData("text");
alert(scope.newId);
element.append(($compile(template)(scope)));
scope.$apply();
return false;
},
false
);
}
}
});