您的代码几乎是正确的,但是这里有几个问题:
<test color1="color1" data-method="ctrlFn(msg)"></test>
在这里,您
ctrlFn()从控制器传递函数,该函数
msg带有一个未定义的参数,该参数会导致警报消息带有“未定义”文本。我建议将HTML代码修改为:
<test color1="color1" data-method="ctrlFn"></test>
请注意,我将传递
ctrlFn为变量而不是函数。
在您的指令代码中,我更改了范围绑定以
=确保
ctrlFn它将指向您的控制器功能。这还将在指令的作用域和控制器(父)作用域之间建立双向绑定。然后,该指令的整个JS代码将如下所示:
app.directive('test', function() { return { restrict: 'E', scope: { fromDirectiveFn: '=method' }, link: function(scope, elm, attrs) { //Way One scope.hello = "some message"; scope.fromDirectiveFn(scope.hello); } }});
只需替换为
&即可
=。工作叉:http :
//jsfiddle.net/L8masomq/
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)