Angularjs এ অন্য নিয়ন্ত্রণকারীর কাছ থেকে কোনও ফাংশন কীভাবে কল করা যায়?




controller angularjs-scope (4)

আপনি আপনার ডেটা সরবরাহ করতে ইভেন্টগুলি ব্যবহার করতে পারেন। এর মতো কোড:

app.controller('One', ['$scope', function ($scope) {
         $scope.parentmethod=function(){
                 $scope.$emit('one', res);// res - your data
         }
    }]);
    app.controller('two', ['$scope', function ($scope) {
         $scope.$on('updateMiniBasket', function (event, data) {
                ...
         });             
    }]);

এই প্রশ্নের ইতিমধ্যে এখানে একটি উত্তর আছে:

কৌণিক জেএসে আমাকে অন্য একটি নিয়ামকের ফাংশনটি কল করতে হবে it এটি সম্ভব উপায় কীভাবে আমাকে অগ্রিম ধন্যবাদ জানাতে সহায়তা করুন

কোড:

app.controller('One', ['$scope',
    function($scope) {
        $scope.parentmethod = function() {
            // task
        }
    }
]);
app.controller('two', ['$scope',
    function($scope) {
        $scope.childmethod = function() {
            // Here i want to call parentmethod of One controller
        }
    }
]);

আপনি যদি কোনও শিশু নিয়ন্ত্রণকারীর মধ্যে প্যারেন্ট কন্ট্রোলারের পিতা-মাতার ফাংশনটি সম্পাদন করতে চান তবে এটিকে কল করুন:

$scope.$parent.parentmethod();

আপনি এটি here চেষ্টা করতে পারেন


দুটি নিয়ামকের মধ্যে আপনার যোগাযোগের জন্য সর্বোত্তম পন্থা হল ইভেন্টগুলি ব্যবহার করা।

scope ডকুমেন্টেশন দেখুন

এই চেক আউট $on , $broadcast এবং $emit


নিয়ন্ত্রণকারীদের মধ্যে যোগাযোগ পদ্ধতিতে $emit + $on / $broadcast + though হলেও সম্পন্ন $on

সুতরাং আপনার ক্ষেত্রে আপনি নিয়ন্ত্রণকারী "দুটি" এর ভিতরে "দুটি" নিয়ন্ত্রকের কোনও পদ্ধতিতে কল করতে চান, এটি করার সঠিক উপায় হ'ল:

app.controller('One', ['$scope', '$rootScope'
    function($scope) {
        $rootScope.$on("CallParentMethod", function(){
           $scope.parentmethod();
        });

        $scope.parentmethod = function() {
            // task
        }
    }
]);
app.controller('two', ['$scope', '$rootScope'
    function($scope) {
        $scope.childmethod = function() {
            $rootScope.$emit("CallParentMethod", {});
        }
    }
]);

যখন $rootScope.$emit বলা হয়, আপনি দ্বিতীয় প্যারামিটার হিসাবে যে কোনও ডেটা প্রেরণ করতে পারেন।







angularjs-scope