8
Dostaję następujący błąd, gdy próbuję to zrobić
var fbcanvas = $('#fbcanvas');
Jest to błąd Mam
ReferenceError: $ is not defined
To mój JS kod
var feedbackModule = angular.module('feedbackModule', [ 'ui.bootstrap', 'dialogs' ]);
feedbackModule.controller('feedbackDialog', function($scope, $rootScope, $timeout, $dialogs) {
$scope.confirmed = 'You have yet to be confirmed!';
$scope.name = '"Your name here."';
$scope.sendFeedback = function() {
html2canvas(document.body, {
onrendered: function(canvas) {
var data = canvas.toDataURL('image/png'), dlg = null;
dlg = $dialogs.create('js/plugin/vzfeedbacktool.html', 'feedbackToolController', {
imgdata: data
}, {
key: false,
back: 'static'
});
dlg.result.then(function(name) {
$scope.name = name;
}, function() {
$scope.name = 'You decided not to enter in your name, that makes me sad.';
});
}
});
}; // end launch
});
feedbackModule.controller('feedbackToolController', ['$scope', '$modalInstance', function($scope, $modalInstance, data) {
$scope.cancel = function() {
$modalInstance.dismiss('canceled');
}; // end cancel
$scope.save = function() {
debugger;
var fbcanvas = $('#fbcanvas');
var ctx = fbcanvas.getContext('2d');
var image = new Image();
image.src = data.imgdata;
ctx.drawImage(image, 0, 0);
}; // end save
}]);
Masz pomysł, jeśli czegoś brakuje? Przy okazji, jeśli próbuję wykonać ten kod bezpośrednio w konsoli to działa dobrze: S
Dzięki
Nie podałeś jQuery – Phil
@NitinVarpe 'kątowy.element'/jqLite nie działa z selektorami. Po prostu użyłbym '$ document [0] .getElementById ('fbcanvas')' – Phil
Staraj się unikać manipulacji DOM w kontrolerach, ponieważ nie jest to * kątowa droga *. W tym celu użyj dyrektywy niestandardowej. – alesc