Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用ajax加载包含Angularjs指令的Django模板_Angularjs_Django - Fatal编程技术网

使用ajax加载包含Angularjs指令的Django模板

使用ajax加载包含Angularjs指令的Django模板,angularjs,django,Angularjs,Django,我正试图使用Angularjs的$http方法根据用户的选择获取给定的Django模板,每个模板都包括角度指令(ng if)以进一步过滤内容 但是,虽然插入的模板很好,而且我在检查html时可以看到指令,但实际上并没有进行过滤。当我使用templates insert控制台日志时,他们无法找到插入模板的正上方和下方可访问的$scope变量 我要插入的模板如下所示: <div class="data_point_popup"> {% if id in values_di

我正试图使用Angularjs的
$http
方法根据用户的选择获取给定的Django模板,每个模板都包括角度指令(
ng if
)以进一步过滤内容

但是,虽然插入的模板很好,而且我在检查html时可以看到指令,但实际上并没有进行过滤。当我使用templates insert控制台日志时,他们无法找到插入模板的正上方和下方可访问的
$scope
变量

我要插入的模板如下所示:

    <div class="data_point_popup">
    {% if id in values_dict %}
        {% if values_dict|get_item:id|get_item:"not_applicable" == True %}
            n/a
        # ...
        {% else %}
            {% if id in definitions_dict %}
                {% if definitions_dict|get_item:id|get_item:"data_type" == "Integer" %}
                    {{ values_dict|get_item:id|get_item:"value"|floatformat:0 }}
                {% elif definitions_dict|get_item:id|get_item:"data_type" == "Currency" %}
                    <div class="currency eur" ng-if="Page.getCurrencySelection() === 'eur'">€{{ values_dict|get_item:id|get_item:"value_json"|get_item:"eur_value"|floatformat:2 }}</div>
                    <div class="currency gbp" ng-if="Page.getCurrencySelection() === 'gbp'">£{{ values_dict|get_item:id|get_item:"value_json"|get_item:"gbp_value"|floatformat:2 }}</div>
                    <div class="currency usd" ng-if="Page.getCurrencySelection() === 'usd'">${{ values_dict|get_item:id|get_item:"value_json"|get_item:"usd_value"|floatformat:2 }}</div>
                    <div class="currency base" ng-if="Page.getCurrencySelection() === 'base'">Base:{{ values_dict|get_item:id|get_item:"value_json"|get_item:"base_value"|floatformat:2 }}</div>
                    <script>console.log(Page.getCurrencySelection())</script>
               # ... 
            {% else %}
                <span style="color: red;">ERROR-NO_DEFINITION</span>
                <script>console.warn("Unable to find definition for data point {{ id }}.");</script>
            {% endif %}
        {% endif %}
    {% else %}
        -
    {% endif %}
</div>

我想知道如何插入模板和角度指令功能?

问题与Django模板没有任何关系。最后,尝试将包含角度指令的html直接插入页面是一个普遍问题。我需要做的是在插入模板之前编译模板。像这样:

function(response) {
    var tab = $("div[data-tab='" + tabPath + "']");
    var template = angular.element(response.data);
    var link = $compile(template);
    var element = link($scope);
    tab.append(element);
 });

我不确定你在这里使用AngularJS和Django的方式是否正确。您应该使用其中一个来渲染视图,而不是同时使用两个。就我个人而言,我会使用AngularJS来呈现视图,并让Django通过JSON提供需要在这些视图中显示的实际内容。
function(response) {
    var tab = $("div[data-tab='" + tabPath + "']");
    var template = angular.element(response.data);
    var link = $compile(template);
    var element = link($scope);
    tab.append(element);
 });