Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从指令到控制器共享数据_Javascript_Angularjs - Fatal编程技术网

Javascript 从指令到控制器共享数据

Javascript 从指令到控制器共享数据,javascript,angularjs,Javascript,Angularjs,我试图在每个链接的点击事件中显示链接的文本,因为我写了一个指令“showtext”,在其中我获取链接的文本,但是我无法通过函数$scope.$apply传递该值(“setMessage($element.text)”)。我也尝试了$scope.message=$element.text inside指令,但它仍然不起作用。plz帮助 <div ng-controller="menu"> <a href="#" showtext>Click</a> <

我试图在每个链接的点击事件中显示链接的文本,因为我写了一个指令“showtext”,在其中我获取链接的文本,但是我无法通过函数$scope.$apply传递该值(“setMessage($element.text)”)。我也尝试了$scope.message=$element.text inside指令,但它仍然不起作用。plz帮助

<div ng-controller="menu">
 <a href="#" showtext>Click</a>
 <a href="#" showtext>Click1</a>
 <a href="#" showtext>Click2</a>
 <button showtext>OK</button>
 <p ng-model="message">You say {{message}}</p>
</div>


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

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

   });

app.controller('menu',function($scope){
  $scope.message = "" ;
  $scope.setMessage = function(msg){
  $scope.message = msg;
}
});

app.directive('showtext',function(){
return {
    link: function($scope,$element){
        $element.bind('click',function(){
            console.log($element.text());
            $scope.$apply("setMessage($element.text)");
        });
    }
}
});

好啊

你说{{message}

var app=angular.module('Demo',[]); 应用程序工厂('共享',函数(){ }); 应用控制器('菜单'、功能($范围){ $scope.message=“”; $scope.setMessage=函数(msg){ $scope.message=msg; } }); 应用程序指令('showtext',函数(){ 返回{ 链接:函数($scope$element){ $element.bind('click',function(){ log($element.text()); $scope.$apply(“setMessage($element.text)”); }); } } });
如果更换

$scope.$apply("setMessage($element.text)");

.

如果更换

$scope.$apply("setMessage($element.text)");


.

创建一个显示行为的小提琴创建一个显示行为的小提琴