在研究指令的时候,我总是遇到一些基本的错误,因为我只是为了从另一个html文件中导入一些内容而无法完成任务。
HTML(DECLARE @SQL NVARCHAR(MAX);
SET @SQL = (SELECT 'DROP TABLE Update_Backups.' +
QUOTENAME(SCHEMA_NAME(t.schema_id)) + '.' +
QUOTENAME(OBJECT_NAME(t.object_id)) + ';
'
FROM sys.tables t
WHERE t.modify_date < DATEADD(year,-01, GETDATE())
FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)');
PRINT @SQL -- FOR DEBUGGING YOU CAN CHECK THE STATEMENT ABOUT TO BE EXECUTED
EXECUTE sp_executesql @SQL;
)
index.html
HTML(<!DOCTYPE html>
<html ng-app="myapp">
<head><script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script><script type="text/javascript" src="app.js"></script></head>
<body>
<hello-world></hello-world>
</body></html>
- 与ssth.html
位于同一目录中):
index.html
JavaScript(app.js - 相同的目录)
<h3>hello world</h3>
然而,我的浏览器根本不会向我显示(function(){
var app = angular.module('myapp', []);
app.directive('helloWorld', function() {
return {
restrict: 'AE',
replace: 'true',
templateUrl: "ssth.html",
};
});
})();
消息。我知道有一些基本的东西我不知道但是什么?
Chrome控制台的错误报告:
XMLHttpRequest无法加载file:///.../ssth.html。交叉源请求仅支持协议方案:http,data,chrome,chrome-extension,https,chrome-extension-resource。
错误:无法在'XMLHttpRequest'上执行'send':无法加载'file:///.../ssth.html'。
错误:[$ compile:tpload] http://errors.angularjs.org/1.3.14/ $ compile / tpload?p0 = ssth.html
答案 0 :(得分:2)
您应该在某个服务器上托管代码,以便模板可以访问,因为要加载的模板url哪个指令应该具有//http
协议。
使用//file
协议时会发生什么?
在按角度获取该模板时,它使用$templateRequest
来获取模板,&amp; $templateRequest
API使用$http
方法获取模板,如果您使用//file
协议进行任何ajax调用,无论如何都会失败。因此,通过在某些服务器(如WAMP,IIS等)上托管您的代码文件夹将解决您的问题。
解决方法(如果您修复它而不托管代码)
其他可能的快速解决方案是使用template
选项而不是templateUrl
template: "<h3>hello world</h3>"
,但这不是更好的解决方法。 :)
答案 1 :(得分:0)
请检查此链接:http://plnkr.co/edit/e3w54TZEmfj8h5O6BX7B?p=preview,
我在上面的链接中解决了你的问题。
我在index.html和
中添加了<hello-world></hello-world>
在script.js文件中,我添加
gitHubViewer.directive('helloWorld', function() {
return {
restrict: 'AE',
replace: 'true',
templateUrl: "ssth.html",
};
});
请查看。
答案 2 :(得分:-1)
您是否在index.html中添加了指令脚本?
<script src="{path}/helloWorld.js"></script>