gpt4 book ai didi

AngularJS:指令不适用于 templateUrl

转载 作者:行者123 更新时间:2023-12-03 18:11:09 29 4
gpt4 key购买 nike

刚接触 angular,在过去一个小时左右的时间里,我一直在处理什么应该是一个简单的指令时遇到问题。真的很感激一些帮助!

我相信你好应该出现,似乎无法让它工作?

测试.html

   <html>
<head lang="en">
<title>Test</title>
</head>
<body>
<div ng-app="myApp">
<hello></hello>
</div>


<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.14/angular.min.js"></script>
<script type="text/javascript" src="main.js"></script>
</body>
</html>

主文件
    var myApp = angular.module('myApp', []);
myApp.directive("hello", function() {
return {
restrict: 'E'
templateUrl:"hello.html"
};
})`

你好.html
<p>Hello</p>

最佳答案

如果您在本地测试并使用 Google Chrome,那么这将不起作用,因为 AngularJS 正在对这些 html 文件进行 Ajax 调用,但 Chrome 会以错误阻止此操作:

XMLHttpRequest cannot load file:///[filepath...] Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.



您可以通过打开开发者控制台并查看错误来验证这一点。

为了解决这个问题,有几种方法:
  • 您可以创建一个简单的 Web 服务器来运行您的代码。如果你有 python,你可以运行命令(编辑:从包含 index.html 的文件夹中):

    python -m SimpleHTTPServer
  • 您可以在 Chrome 中禁用同源策略:
    https://stackoverflow.com/a/6083677/1100379
  • 使用可能为您执行此操作的 Chrome 扩展程序。我查了一下,这是第一个结果:
    Allow-Control-Allow-Origin
  • 关于AngularJS:指令不适用于 templateUrl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24660328/

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