转换“ attrs。$ observe”从JSON返回的值时,输入“ JSON的意外末尾”

我正在设置一个伪指令,该伪指令充当<select></select>元素,但是其中要附加多个<li></li>元素的地方有一些调整。

在我的目录中,我有这个...

baseTemplate.js

scope: {
     options: '@',},link: (scope,element,attrs) => {    
    // options = ['a','b','c'];    
    attrs.$observe('options',value => {
         value = angular.fromJson(value);
         scope.stored_options = value;
    })
}

value返回的attrs.$observejson。到目前为止,value = '["a","b","c"]';没有发生错误。

但是,当我使用object方法将其转换为angular.fromJson()时。发生错误,说"Unexpected end of JSON"

尽管该值已转换为对象,但我仍然可以使用它。

从技术上讲没有错误时,我只是讨厌控制台中发生错误。

lj13700510051 回答:转换“ attrs。$ observe”从JSON返回的值时,输入“ JSON的意外末尾”

不要将属性评估为JSON,请考虑:

scope: {
     options: '@',},link: (scope,element,attrs) => {    
    // options = ['a','b','c'];    
    scope.stored_options = scope.$eval(attrs.options);
}

$eval的类似JavaScript的解析器比JSON解析器更通用。

有关更多信息,请参见

本文链接:https://www.f2er.com/3009402.html

大家都在问