到目前为止,这是我的代码,使用@html.partialview
通过Angular自定义指令在浏览器中返回视图var newOne = function () {
return {
restrict: "A",
templateUrl: "newone.html",
replace: true,
scope: {},
controller: ['$scope', function ($scope) {
}]
}
}
我声明了id" newone.html"这里:
<script type="text/ng-template" id="newone.html">
@Html.Partial("~/Views/AngularTemplates/Newone.cshtml")
</script>
当然我从html调用指令:
<div data-new-one></div>
不幸的是我没有得到适当的回应。 我得到的只是一条错误消息(控制台检查员): [$ compile:tpload]无法加载模板:newone.html
我试图将.cshtml存储在多个文件夹中,甚至从bundleconfig加载它......但没有! 有任何想法吗? 谢谢!
答案 0 :(得分:1)
您不需要使用@ Html.Partial。
尝试将指令代码更改为:
var newOne = function () {
return {
restrict: "A",
templateUrl: "~/Views/AngularTemplates/Newone.cshtml",
replace: true,
scope: {},
controller: ['$scope', function ($scope) {
}]
}
}
答案 1 :(得分:0)
在Angular文档中找到解决方案:
https://docs.angularjs.org/error/$compile/tplrt
其中说:
模板必须只有一个根元素
似乎多个<div>
代码甚至评论都收到错误。
答案 2 :(得分:0)
创建一个名为:
的新文件名instance_ids = []
for reservations in response['Reservations']:
for instance in reservations['Instances']:
instance_ids.append(instance['InstanceId'])
只需将旧文件的内容复制并过去到新的~/Views/AngularTemplates/Newone.**tpl**.cshtml
文件中即可
在tpl.html
或tpl
cshtml
(模板)
示例:
html
答案 3 :(得分:0)
您可以在脚本中导入模板,并将其用作“模板”,而不是“ templateUrl”:
import newone from 'newone.html';
var newOne = function () {
return {
restrict: "A",
template: newone,
replace: true,
scope: {},
controller: ['$scope', function ($scope) {
}]
}
}