繁体   English   中英

指令函数中未传递参数

[英]Arguments are not being passed in directive function

<div scope-isolation reversename="reverseNameFn()"></div>

app.controller('MainCtrl', function($scope) {
  $scope.name = 'World';
  $scope.reverseNameFn = function(message){
     console.log(message);  //undefined
     return message;
  }
});

app.directive('scopeIsolation', function() {
  return{
    scope : {
       'reversename' : '&'
    },
    template : '<input type="text" ng-model="value"> {{value}} <button ng-click="reversename({message : value})">click me</button>',
    link : function(scope,elem,attrs){      
         console.log("Inside scope isolation directive");
    }
  }
});

调用reversename({message:value})时,消息对象在函数中未定义。

Plnkr: http ://plnkr.co/edit/c2hch5Kozr9yjRLWN6K9?p = preview

处理& ,您的表达式将被求值。 您传递的表达式是reverseNameFn()

如果要动态传递变量,请使用=绑定:

'reversename' : '='

在您的HTML中:

<div scope-isolation reversename="reverseNameFn"></div>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM