将值从指令传递到控制器

将值从指令传递到控制器,第1张

将值从指令传递到控制器

您的代码几乎是正确的,但是这里有几个问题:

<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/



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5651860.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存