第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

angularjs如何在directive里調(diào)用controller的function?

angularjs如何在directive里調(diào)用controller的function?

守著星空守著你 2019-02-05 15:07:30
請(qǐng)問(wèn)如何在directive里面調(diào)用controller的function?代碼如下:    var app = angular.module('myApp',[]);     app.controller('myCtrl',function($scope){        $scope.test= function(){         ...         }     }     app.directive('myDir',    function(){        return {             restrict:'EA',             replace: true,             template: '<input ng-click="test()"></input>',             scope:{                 test: '&'             },             controller: [                '$scope', function ($scope) {                     $scope.accept = function () {                                           $scope.test();                                            };                 }                 ],         }     } );html是這樣的:<button type="button" ng-click="accept()">test</button>要怎樣才能實(shí)現(xiàn)點(diǎn)擊test button的時(shí)候在調(diào)用了directive里的accept function之后同時(shí)調(diào)用controller里面的test function呢?
查看完整描述

3 回答

?
月關(guān)寶盒

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超5個(gè)贊

    var app = angular.module('myApp',[]);


    app.controller('myCtrl',function($scope){

       $scope.accept= function(){

        ...

        }

    }

    app.directive('myDir',

    function(){

        return {

            restrict:'EA',

            replace: true,

            template: '<input ng-click="test()"></input>',

            scope:{

                test: '&'

            },

            link: function(scope, element, attrs) {

                元素.bind("click",function(){

                    scope.accept();

                })

            }

        }

    }

);


查看完整回答
反對(duì) 回復(fù) 2019-03-17
?
藍(lán)山帝景

TA貢獻(xiàn)1843條經(jīng)驗(yàn) 獲得超7個(gè)贊

可以把myCtrl里的test function 存到service里,然后在directive里調(diào)用service里的test function

app.controller('myCtrl',function($scope,methods){

   $scope.test= function(){

    ...

    }

   methods.test = $scope.test;

}

app.factory('methods',function(){

        return {

            test: null

        };

})


app.directive('myDir',

    function(){

        return {

            restrict:'EA',

            replace: true,

            template: '<input ng-click="accept()"></input>',

            scope:{

                

            },

            controller: function ($scope,methods) {

                    $scope.accept = function () {

                       console.log('accept fn');

                       methods.test();

                    };

                }

        }

    }

);

或者:

var app = angular.module('myApp',[]);


app.controller('myCtrl',function($scope){

   $scope.test= function(){

    ...

    }

}

app.directive('myDir',function(){

    return {

        restrict:'EA',

        replace: true,

        template: '<input ng-click="test()"></input>',

        scope:{

            test: '&'

        },

        controller: function(){}

    }

});


HTML:

<my-dir test="test()"></my-dir>



查看完整回答
反對(duì) 回復(fù) 2019-03-17
?
白豬掌柜的

TA貢獻(xiàn)1893條經(jīng)驗(yàn) 獲得超10個(gè)贊

<button type="button" ng-click="accept()">test</button> 這是 html 里的調(diào)用方式?
然后這個(gè)是 directie 的 template: <input ng-click="test()"></input>?

所以你的 myDir 這個(gè) directive 到底是在哪兒調(diào)用的?另外,如果方便,請(qǐng)你大概描述一下你要實(shí)現(xiàn)什么功能。


查看完整回答
反對(duì) 回復(fù) 2019-03-17
  • 3 回答
  • 0 關(guān)注
  • 1079 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)