gpt4 book ai didi

javascript - Angular指令参数长度限制

转载 作者:行者123 更新时间:2023-11-27 23:31:52 24 4
gpt4 key购买 nike

发送到指令的参数是否有长度限制?这是我的代码:

header = JSON.stringify(header);
columnObj = JSON.stringify(columnObj);
$compile('<div column-filter-sort header=' + header + ' columnobj=' + columnObj + '></div>')(scope);

指令:

a.directive('columnFilterSort', function () {
return {
link: function (scope, elem, attrs) {
var columnObj = JSON.parse(attrs.columnobj);
var header = JSON.parse(attrs.header);
}
});

Var columnObj 看起来不错,但在 var header = JSON.parse(attrs.header); 处失败检查 var header 我发现它不完整。我收到的错误是:语法错误:输入意外结束 在 Object.parse( native )

请帮忙。

谢谢

最佳答案

首先将编译更改为:

$compile('<column-filter-sort header="' + header + '" columnobj="' +     columnObj + '"></div>')(scope);

第二次将指令更改为:

a.directive('columnFilterSort', function () {
return {
restrict: 'E',
scope: {
'header' : '=',
'columnobj' : '='
},
link: function (scope, elem, attrs) {
var columnObj = JSON.parse(scope.columnobj);
var header = JSON.parse(scope.header);
}
});

这应该可以解决问题。有关更多详细信息,请查看此帖子 how to pass a json as a string param to a directive

顺便说一句,您还可以将 JSON 传递到第一个 JS 部分的全局范围并使用它,而无需在指令中使用隔离范围。

关于javascript - Angular指令参数长度限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34500625/

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