gpt4 book ai didi

AngularJS - $templateCache 未定义

转载 作者:行者123 更新时间:2023-12-02 21:08:01 25 4
gpt4 key购买 nike

我正在尝试在 AngularStrap 弹出窗口中加载模板文件,但是我在使用 $templateCache 时遇到问题。我似乎比其他问题退了一步,因此这看起来是双重的。

根据 API 文档,我添加了 <script type="text/ng-template" id="popoverTemplate.html"></script>收盘前 </body>标签。当我使用<div ng-include="'popoverTemplate.html'"></div>时在我的页面上,我什么也没得到。如果我尝试使用 console.log($templateCache.get("popoverTemplate.html"))我得到“$templateCache 未定义”,这让我认为我错过了一个关键步骤。但是,我在文档或其他问题中找不到如何做到这一点。

编辑:注入(inject)服务是缺失的环节。但是,当我注入(inject)服务时, Controller 的其他功能不再起作用,但是如果您注入(inject)所有函数的参数,工作代码将变为:

(function() {
"use strict";
angular.module("app").controller("managerController", ["$scope", "imageHierarchyRepository", "$templateCache", function ($scope, imageHierarchyRepository, $templateCache) {
imageHierarchyRepository.query(function(data) {
$scope.hierarchies = data;
});

var template = $templateCache.get("popoverTemplate.html");
console.log(template);
}]);
})();

最佳答案

使用模板脚本标签。您必须将其插入 Angular 应用程序中。它位于具有 ng-app 属性的元素内,或者如果您不使用 ng-app 标记,则位于用于引导应用程序的元素内。

<body ng-app="myapp">

<div ng-template="'myTemplate.html'"></div>

<script type="text/ng-template" id="myTemplate.html">
// whate ever
</script>
</body>

如果您想检索应用程序组件上的模板,那么您需要将服务注入(inject)到您想要使用它的地方:

controller('FooCtrl', ['$templateCache', function ($templateCache) {
var template = $templateCache.get('myTemplate.html');
}]);

或者

controller('FooCtlr', FooCtrl);

FooCtrl ($templateCache) {};

FooCtrl.$inject = ['$templateCache'];

编辑

不要使用相同的名称注册两个 Controller ,因为这样您会用最后一个 Controller 覆盖第一个 Controller 。

(function() {
"use strict";
angular.module("app").controller("managerController",["$scope", "imageHierarchyRepository", "$templateCache", function ($scope, imageHierarchyRepository, $templateCache) {
var template = $templateCache.get("popoverTemplate.html");
console.log(template);
imageHierarchyRepository.query(function(data) {
$scope.hierarchies = data;
});
}]);


})();

关于AngularJS - $templateCache 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35057124/

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