gpt4 book ai didi

javascript - angularjs组件绑定(bind)参数检查

转载 作者:行者123 更新时间:2023-12-03 02:24:06 25 4
gpt4 key购买 nike

有没有办法检查 args 与 angularjs 中的绑定(bind)?我想通过事先检查参数来更改处理。

angular.module('app').component('test', {
template: '<button data-ng-click="$ctrl.click();"></button>',
bindings: {
fn: '&',
},
controller: [
'$element',
function ($element) {
let $ctrl = this;
$ctrl.click = function () {
/*
let params={};
if(check($ctrl.fn,'message')){
params.message='Hi,';
}
if(check($ctrl.fn,'now')){
params.now=Date.now();
}
*/
$ctrl.fn({
message: 'Hi,',
now: Date.now()
});
};
}
]
});
<test data-fn="$ctrl.a(message);"></test>
<test data-fn="$ctrl.a(now);"></test>
<test data-fn="$ctrl.a(message,now);"></test>

例如,您想通过调用测试标记进行更改。

最佳答案

我认为你想要的东西是可能的,但不是你想要的。您需要以某种方式重新设计它,即:

<test fn="$ctrl.a(data);" fn-attrs="message"></test>
<test fn="$ctrl.a(data);" fn-attrs="now"></test>
<test fn="$ctrl.a(data);" fn-attrs="message,now"></test>

$ctrl.click = function () {
let attrs = $ctrl.fnAttrs.split(',');
let data = {};
if (attrs.indexOf('now') !== -1) {
data.now = 'smth';
}
if (attrs.indexOf('message') !== -1) {
data.message = '';
}
$ctrl.fn({ data: data});
};

关于javascript - angularjs组件绑定(bind)参数检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49027842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com