0

I have added dynamic controller to my app. I want to inject JavaScript object into that controller.

Dynamic Controller

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
    };
}

Added controller to module

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 to add controller dynamically

function addController(elementClass, objectName){
        var element = $("."+elementClass);

        // Compile controller 2 html
        var mController = angular.element(document.getElementById("ThinkshopApp"));
        mController.scope().activateView(element, objectName);
}

Parent controller

function loadThinkshopApplicationController($scope, $compile){

     $scope.activateView = function(element, objectName) {

            $compile(element.contents())($scope);
            $scope.$apply();
     };
}
2
  • Can you put it in a plunker? So it is easy to help you! Commented Apr 13, 2016 at 12:16
  • @vinagreti I had sample example, that i referred write my code to add controller dynamically to my module. refork.com/x4bc Commented Apr 14, 2016 at 5:08

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.