Я пытаюсь реализовать Crop Plugin Library в своем графическом демо-проекте. Я ввел необходимые модули в свой основной модуль и успешно обрезал рис. Но я не знаю, как передать строку base64 в контроллер. То, что я пытался до сих пор:Невозможно получить доступ к переменной внутри контроллера в угловом
var myApp = angular.module('myModule', ['ngRoute', 'angular-img-cropper', 'app']);
myApp.config(function($routeProvider) {
$routeProvider
.when('/multiple',{
templateUrl: 'templates/multi.html',
controller: 'multiController',
controllerAs: 'multiCtrl'
})
});
myApp.controller('multiController', function ($scope,$rootScope) {
var vm = this;
vm.clickButton = function() {
console.log("photo: "+vm.member_photo);
};
});
HTML - шаблоны/multi.html:
<h1>Multi page which has another controller inside</h1>
<div ng-controller="multiController">
<div ng-controller="ImageCropperCtrl as ctrl">
<input type="file" img-cropper-fileread image="cropper.sourceImage" />
<div>
<canvas width="500" height="300" id="canvas" image-cropper image="cropper.sourceImage" cropped-image="cropper.croppedImage" crop-width="500" crop-height="200" min-width="100" min-height="50" keep-aspect="true" crop-area-bounds="bounds"></canvas>
</div>
<div>Cropped Image (Left: {{bounds.left}} Right: {{bounds.right}} Top: {{bounds.top}} Bottom: {{bounds.bottom}})</div>
<div ng-show="cropper.croppedImage!=null"><img ng-model="member_photo1" ng-src="{{cropper.croppedImage}}" /></div>
<textarea name="member_photo" ng-model="multiCtrl.member_photo" id="member_photo" class="form-control valid">{{cropper.croppedImage}}</textarea>
</div>
<button ng-controller="insideController" ng-click="multiCtrl.clickButton()">Console.log</button>
</div>
Если я проверить текстовое поле значение там, но это не показано в текстовое поле, а также значение невозможно получить в моем контроллере. Что я делаю не так?
Вы используете контроллер как синтаксис, не указав псевдоним для контроллера в HTML. Вам нужно использовать ng-model = "vm.member_photo". то же самое для вашего ng-click. Также у вас есть ng-model и {{}}, что эквивалентно ng-bind. Вы должны использовать только один – UserNeD