Javascript 是否可以使用angular js在html脚本中编写数组?
这是我的HTML代码Javascript 是否可以使用angular js在html脚本中编写数组?,javascript,angularjs,Javascript,Angularjs,这是我的HTML代码 <script> Raven.config('___PUBLIC_DSN___', { release: '1.3.0', whitelistUrls: {{urls}}, }).install() </script> 我得到一个错误,如: SyntaxError: expected property name, got '{' 是可能的还是我在代码中犯了一些错误?请建议/帮助。如果要使用$sco
<script>
Raven.config('___PUBLIC_DSN___', {
release: '1.3.0',
whitelistUrls: {{urls}},
}).install()
</script>
我得到一个错误,如:
SyntaxError: expected property name, got '{'
是可能的还是我在代码中犯了一些错误?请建议/帮助。如果要使用
$scope.url
参数,您需要在AngularJS应用程序中初始化raven以您尝试的方式,这是不可能的:
var myApp = angular.module('myApp',[]);
myApp.controller('MyCtrl', function ($scope) {
$scope.urls = ['https://test1.com/', 'https://test2.com'];
Raven.config('___PUBLIC_DSN___', {
release: '1.3.0',
whitelistUrls: $scope.urls,
}).install()
});
附加脚本解决方案: 您还可以尝试使用如下指令将此脚本动态附加到DOM中:
var myApp = angular.module('myApp',[]);
myApp.controller('MyCtrl', function ($scope) {
$scope.urls = ['https://test1.com/', 'https://test2.com'];
Raven.config('___PUBLIC_DSN___', {
release: '1.3.0',
whitelistUrls: $scope.urls,
}).install()
});
看法
(不确定是什么让它变了,但是)您是否尝试过简单地使用
白名单URL:URL,
<代码>{…}用于以HTML呈现内容,而不是在脚本中(用于JavaScript代码及其执行)感谢您的回复,但我尝试了,但它返回了一个未定义的错误。这是一个好迹象,它不再是语法错误,因此出现了其他问题。试着解决那个问题,下一次我试试。谢谢你给我宝贵的时间。祝你今天过得愉快。这似乎是个好消息。您希望获得问题的解决方案,因此实现了一个解决方案。该解决方案无法正常工作,因此您需要帮助排除该解决方案的故障。相反,最好在这里询问根本问题,这样专家就能更好地帮助您。不清楚,是的。这是可行的,但根据我的代码结构,我必须在标记中实现。谢谢。@lin,这不是一个完整的解决方案。OP希望将作用域变量从应用程序提取到script@AlekseySoloveyfeal可以自由添加其他答案。我的问题仍然没有解决。如何标记为已完成?我想要一个内部标签。如果您有一个解决方案,那么请建议。@ RealangangLujs不在范围之外共享变量,请考虑上面包含在脚本中的解决方案:<代码> var MyAPP=…<代码>
<div ng-controller="MyCtrl">
<span>Right after here:</span>
<div my-append-script url-data="urls"></div>
</div>
var myApp = angular.module('myApp',[]);
myApp.controller('MyCtrl', function ($scope) {
$scope.urls = ['https://test1.com/', 'https://test2.com'];
});
myApp.directive('myAppendScript', function () {
return {
restrit: 'A',
scope: {
urlData: '=urlData'
},
link: function (scope, element, attrs) {
var wrapArray = '';
angular.forEach(scope.urlData, function (item, index) {
if (index !== 0 ) {
wrapArray += ','+"'"+item+"'";
} else {
wrapArray += "'"+item+"'";
}
});
wrapArray = '['+wrapArray+']';
var script = document.createElement('script');
script.setAttribute('type', 'text/javascript');
script.innerHTML = `
console.log(`+wrapArray+`);
Raven.config('___PUBLIC_DSN___', {
release: '1.3.0',
whitelistUrls: `+wrapArray+`,
}).install()`;
element.append(script);
}
}
});