尝试加载角度不止一次,同时创建自定义指令

时间:2015-10-14 10:38:02

标签: angularjs angularjs-directive directive

我的index.html文件,我试图在这个html文件中加载指令。 //

first = [int(s) for s in first]
second = [float(s) for s in second]

editcart.html就是这个 //

struct MyClass{ virtual void doSomething() = 0; }; class Concrete_1 : public MyClass { String field_1; public: Concrete_1(String _field_1){ // ... initialization }; void doSomething(){ // ... not so important } }; class MyClassFactory{ public: std::shared_ptr<MyClass> init(int idx, String val){ switch(idx){ case 1: return std::shared_ptr<MyClass>(new Concrete_1(val)); } return std::shared_ptr<MyClass>(); } }; int main(...) { std::shared_ptr<MyClass> ex = MyClassFactory::init(1, "value"); }

和角度代码 //

{% extends "base.html" %}
{% load staticfiles %}
{% block content %}
<div ng-app="myApp">
<div ng-controller="mainController">
{% verbatim %} 
<div class="row">
<div class="column small-12">
<h1 class="up heading text_setting">{{title}}</h1>
</div>
</div>
<edit-cart></edit-cart>
<div class="row">
<div class="small-12 column"><h1 class="up heading">products total <span class="right">3000</span></h1> </div>
</div>
<div class="row">
<div class="small-10 block-center">
<button class="btn-block up heading text_setting ">checkout as guest</button>
<button class="btn-block up heading text_setting">log in/join</button>
</div>
</div>
</div>
{% endverbatim %} 
</div>
{% endblock content %}
{% block customjs %}
<!-- common angular js -->
<script src="{% static 'angular_wrapper/shared/angular.min.js' %}"></script>
<script src="{% static 'angular_wrapper/shared/angular-route.js' %}"></script>
<script src="{% static 'angular_wrapper/shared/angular-mock.js' %}"></script>

<!-- app -->
<script src="{% static 'angular_wrapper/shared/app.js' %}"></script>
<!-- controller -->
<script src="{% static 'angular_wrapper/controller/maincontroller.js' %}"></script>
<!-- directives -->
<script src="{% static 'angular_wrapper/directives/directive-editcart.js' %}"></script>
<!-- angular services -->
<script src="{% static 'angular_wrapper/services/service-editcart.js' %}"></script>
{% endblock customjs %}

console-image attached here

我正在为我的Web应用程序创建自定义指令但无法修复此错误。 不知道出了什么问题。

我已经包括所有js请帮忙吗?

1 个答案:

答案 0 :(得分:2)

正如迈克尔·布罗姆利在this GitHub问题中所述(顶部的第二个答案),问题是Angular试图实例化一个它无法找到的模板,所以它只是重新加载index.html包含角度脚本的文件,所以错误。

我通过在templateUrl中从公共目录的根目录(或者您尝试从中获取文件的目录)中指示文件的完整路径来解决此问题。

所以我的情况是modules/teams/client/directives/notification.html directives/notification.html

如果这是正确的解决方案,我不知道,但对我有用。

我真的很失望的是,角度没有告诉我关于这个丢失模板的事实,但当我把modules/directive(这是一个文件夹)时,它给了我一个错误。

非常奇怪的行为,我希望至少被告知模板未正确加载。