I have a view being loaded with an embedded text/ng-template
which is not being found by a ng-include
later in the file. The script block sits at the very top of the view file:
<script type="text/ng-template" id="stringCondition">
<!-- template guts -->
</script>
Which I am loading later in the file with:
<ng-include src="'stringCondition'"></ng-include>
But is producing a 404 error in the console:
GET http://localhost/~me/stringCondition 404 (Not Found)
I've tried several variants on naming (like having .html on the end) and using ng-include
as an attribute instead of the high level element. All with no luck.
What could be causing an embedded ng-template
to not be registering with an ng-include
in the same view file?
UPDATE:
As comments and answers have pointed out, the basic design of my code is correct. But something is causing ng-template
to (apparently) fail to make the template available to the system.
I updated my code to pull from a HTML file (instead of an imbedded template) and it works fine.
Is there a common situation that I could be running into that breaks ng-template
?
<div ng-app>
<script type="text/ng-template" id="stringCondition">
Yes, yes it did.
</script>
Did it work? <ng-include src="'stringCondition'"></ng-include>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
I had the same problem and came upon this post. I can now see what is causing this issue so hopefully this is helps anyone else with this issue.
The reason rgthree's code works is that the script tag for text/ng-template has to live within the scope of ng-app. So it is fine to have the template in a seperate .js file but just make sure when it is rendered on the HTML page it is within ng-app, otherwise angular won't be aware of it and will attempt to load it from the server.
Seems to work fine for me. Perhaps you have something else going on outside of your example code.
<div ng-app>
<script type="text/ng-template" id="stringCondition">
Yes, yes it did.
</script>
Did it work? <ng-include src="'stringCondition'"></ng-include>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
来源:https://stackoverflow.com/questions/29172780/inline-ng-template-not-found-by-ng-include