相关疑难解决方法(0)

如何调用AngularJS指令中定义的方法?

我有一个指令,这里是代码:

.directive('map', function() {
    return {
        restrict: 'E',
        replace: true,
        template: '<div></div>',
        link: function($scope, element, attrs) {

            var center = new google.maps.LatLng(50.1, 14.4); 
            $scope.map_options = {
                zoom: 14,
                center: center,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };
            // create map
            var map = new google.maps.Map(document.getElementById(attrs.id), $scope.map_options);
            var dirService= new google.maps.DirectionsService();
            var dirRenderer= new google.maps.DirectionsRenderer()

            var showDirections = function(dirResult, dirStatus) {
                if (dirStatus != google.maps.DirectionsStatus.OK) {
                    alert('Directions failed: ' + dirStatus);
                    return;
                  }
                  // Show directions
                dirRenderer.setMap(map);
                //$scope.dirRenderer.setPanel(Demo.dirContainer);
                dirRenderer.setDirections(dirResult);
            };

            // Watch
            var updateMap = …
Run Code Online (Sandbox Code Playgroud)

angularjs angularjs-directive

294
推荐指数
7
解决办法
32万
查看次数

如何从外部控制器的指令调用函数?

似乎网上存在类似问题的一些问题,但没有解决方案适合我.

我有一个指令,让我们说包括这样的函数(在指令中):

link: function(scope, element, attrs) {

     scope.myfunction = function (){
          console.log('function run');
     };
}
Run Code Online (Sandbox Code Playgroud)

女巫我想让它从一个控制器运行(调用它),像这样简单:

$scope.myFunction();
Run Code Online (Sandbox Code Playgroud)

所以我可以从指令代码之外的页面的一部分调用它,让我们这样说:

<button ng-click="myFunction()">Run</button>
Run Code Online (Sandbox Code Playgroud)

可能吗?

javascript angularjs

2
推荐指数
1
解决办法
5591
查看次数