Я добавил динамический контроллер в свое приложение. Я хочу добавить объект JavaScript в этот контроллер.
Динамический контроллер
function loadEditCommentFABActionbarController($scope, EditCommentFABActionbarObject){
var vm = this;
vm.isOpen = false;
vm.selectedMode = 'md-scale';
vm.selectedDirection = 'down';
vm.postComment = function(){
EditCommentFABActionbarObject.postComment(); // EditCommentFABActionbarObject is a javascript object
};
vm.deleteComment = function(){
EditCommentFABActionbarObject.deleteComment(); // EditCommentFABActionbarObject is a javascript object
};
}
Добавлен контроллер в модуль
var app = angular.module('ThinkshopAPP');
app.value("EditCommentFABActionbarObject", this); // this is javascript object, i want to inject into cotroller.
app.controller('EditCommentFABActionbarController', ['$scope', 'EditCommentFABActionbarObject', loadEditCommentFABActionbarController]);
Функция Javascript для динамического добавления контроллера
function addController(elementClass, objectName){
var element = $("."+elementClass);
// Compile controller 2 html
var mController = angular.element(document.getElementById("ThinkshopApp"));
mController.scope().activateView(element, objectName);
}
Родительский контроллер
function loadThinkshopApplicationController($scope, $compile){
$scope.activateView = function(element, objectName) {
$compile(element.contents())($scope);
$scope.$apply();
};
}