错误:语法错误:令牌“”,“”是意外的标记

Error: Syntax Error: Token ',' is an unexpected token

本文关键字:错误 意外 语法 令牌      更新时间:2023-09-26

我有一个奇怪的错误,我不知道如何解决。我不断收到错误:语法错误:令牌","是表达式第 6 列的意外标记 [咳嗽、口水、口水 你是谁?你想要什么?已从 JSON 文件加载。它已经工作了数周,但现在不是

这是调用字符串的代码行

<div id="story-text" ng-bind-html-unsafe="{{page.text}}" ></div>

这是加载数据的工厂,似乎可以正确加载

  .factory('Stories', ['$http', function($http) {
            var factory = {};
            var stories = null;
            stories = $http.get('./json/stories.json')
                    .success(function(data) {
                        stories = data;
                    })
                    .error(function(data, status) {
                        alert(data);
                        alert(status);
                    });
            factory.getStories = function() {
                return stories;
            };
            factory.getStory = function(id) {
                return stories[id];
            };
            factory.getPage = function(id, page) {
                return stories[id].pages[page];
            };
            return factory;
        }])

最后,此行将数据从 JSON 文件加载到要在部分上执行的范围

 $scope.page = Stories.getPage($scope.param.id - 1, $scope.param.pageNo - 1);

据我所知,没有什么明显的错误正在加载的 JSON 是

"PageNo": 1,
"text": "Cough, splutter, slobber </br> Who are you? What do you want?",
"image": "img/story-1/jpg/1.jpg",
"sound_background": "sound/story-1-sound/Story1A.aif",
"sound_voiceover": "sound/story-1-voiceover/Story1-01.mp3"

任何人都可以看到我看不到的东西吗

您可以将 {{}} 与 ng-bind-html 和 ng-bind-html-unsafe 一起使用。

只需将大括号括在单引号中即可:

<div id="story-text" ng-bind-html="'{{page.text}}'" ></div>

您甚至可以将其与过滤器结合使用

<div id="story-text" ng-bind-html="'{{page.text | uppercase}}'" ></div>
好的,

所以我显然想通了,如果ng-bind-html-unsafe的值是一个字符串,你就不能使用{{}}。我的猜测是,角度试图将其评估为函数或导致问题的东西

所以

<div id="story-text" ng-bind-html-unsafe="{{page.text}}" ></div>

应该是

<div id="story-text" ng-bind-html-unsafe="page.text" ></div>