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

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.