Javascript 角度方向参数长度限制
发送到指令的参数是否有长度限制?这是我的密码:Javascript 角度方向参数长度限制,javascript,json,angularjs-directive,Javascript,Json,Angularjs Directive,发送到指令的参数是否有长度限制?这是我的密码: header = JSON.stringify(header); columnObj = JSON.stringify(columnObj); $compile('<div column-filter-sort header=' + header + ' columnobj=' + columnObj + '></div>')(scope); Var columnObj看起来不错,但在Var header=JSON
header = JSON.stringify(header);
columnObj = JSON.stringify(columnObj);
$compile('<div column-filter-sort header=' + header + ' columnobj=' + columnObj + '></div>')(scope);
Var columnObj看起来不错,但在Var header=JSON.parse(attrs.header)时失败;
检查var头,我发现它不完整。我得到的错误是:
SyntaxError:输入意外结束
at Object.parse(本机)
请帮忙
谢谢首先将编译更改为:
$compile('<column-filter-sort header="' + header + '" columnobj="' + columnObj + '"></div>')(scope);
这应该能奏效。
有关更多详细信息,请查看此帖子
顺便说一句,您还可以在第一个JS部分将JSON传递到全局作用域,并使用它,而无需在指令中使用隔离作用域。之所以有效,是因为compile需要将JSON用引号括起来。诀窍是使用双绑定将json传递到指令处的隔离范围,而不是使用属性@Toni感谢您的反馈我不确定,但现在它甚至没有进入指令。错误是:[$parse:ueoe]在错误处(本机),请检查我上一次将列筛选器排序作为元素放置时的编辑,因为在指令中对其进行了限制。我已将编译更改为此$compile(“”)(范围);
$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);
}
});