到目前为止,我所拥有的直接是Angular UI示例:
控制器:
var ModalDemoCtrl = function ($scope, $modal) {
$scope.open = function () {
var modalInstance = $modal.open({
templateUrl: 'myModalContent.html',
controller: ModalInstanceCtrl
});
};
};
var ModalInstanceCtrl = function ($scope, $modalInstance) {
$scope.close = function () {
$modalInstance.dismiss('cancel');
};
};
而这一部分,就是坐在.html中的这个模式所在的整个页面。HTML:
<script type="text/ng-template" id="myModalContent.html">
<div class="modal-header">
<h3 class="modal-title">I'm a modal!</h3>
<button class="btn btn-warning" ng-click="close()">X</button>
</div>
<div class="modal-body">
Stuff
</div>
</script>
这样很好。但是我试图重构一些东西并组织我的代码,所以我想将模式html移到它自己的文件中。当我这样做时,尝试通过将templateUrl更改为path:来使用它\tmpl\myModalContent.html
,它不会显示。仍然显示背景幕,检查页面显示页面已正确加载,但不会显示。
我尝试根据这些建议更改模式的css ,没有任何区别。
我的问题是,如果script标记位于主html中,但如果它位于其自己的文件中则根本不起作用,为什么这可以正常工作?
这是一个显示我的意思的plnkr。如果您复制template.html中的内容并将其放置在index.html文件中的按钮上方,那么它将起作用...
好吧,我显然是个假人。我要做的就是在主视图中包括新文件。
<div ng-include="'path-to-file.html'"></div>
然后从控制器调用它很容易,我所需要的只是id(modalContent.html)作为templateUrl。
只要继续游泳,您最终就会到达那里:)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句