2012-11-22 15 views
10

मैं ड्रैग'ड्रॉप निर्देश लागू कर रहा हूं। ड्रॉप पर मैं अपने div करने के लिए तत्व की एक प्रति जोड़ सकते हैं और इस तरह से यह करने के लिए ng-click विशेषता संलग्न:कोणीयजेएस निर्देश में एनजी-क्लिक जोड़ना

copy.append('<button class="close" ng-click="abc()">&times;</button>'); 

उदाहरण के लिए, नियंत्रक में मैं

$scope.abc = function() { 
    alert('Hello!'); 
} 

है और यह काम नहीं करता। यदि मैं मैन्युअल रूप से पेज पर यह बटन जोड़ता हूं तो यह ठीक काम करता है।

उत्तर

0

मुझे लगता है कि आपको अपने नए टेम्पलेट को संकलित करने की आवश्यकता है ताकि AngularJS इसे पहचान सके। दस्तावेज़ आपको ng.$compile का उपयोग करने के लिए एक अच्छा उदाहरण देते हैं।

क्लोनिंग इसलिए की तरह तो किया जा सकता है:

var templateHTML = angular.element('<p>{{total}}</p>'), 
    scope = ....; 

var clonedElement = $compile(templateHTML)(scope, function(clonedElement, scope) { 
    //attach the clone to DOM document at the right place 
}); 
8
copy.append('<button class="close" ng-click="abc()">&times;</button>'); 
$compile(copy)($scope); 
संबंधित मुद्दे