这个简单程序的输出是什么?为什么?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了这个简单程序的输出是什么?为什么?相关的知识,希望对你有一定的参考价值。

<div ng-app="myApp">
    <div w3-test-directive></div>
    <div w3-test-directivee ></div>
</div>

<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.2/angular.min.js"></script>

<script>
    var app = angular.module("myApp", []);
    app.directive("w3TestDirective", function() {
        return {
            template : "howw!"
        };
    });
</script>
<script>
    var app = angular.module("myApp", []);
    app.directive("w3TestDirectivee", function() {
        return {
            template : "hie how are you!"
        };
    });
</script>

将返回哪个模板?我有两个脚本:哪个将被调用,为什么?

答案

删除第二个angular.module调用中的第二个参数,它将按预期工作。有关第二个参数,请参阅docs

If specified then new module is being created. If unspecified then the module is being retrieved for further configuration.

由于您提供了第二个参数,因此每次覆盖之前定义的任何内容时都会创建一个新的myApp模块。

<div ng-app="myApp">
    <div w3-test-directive></div>
    <div w3-test-directivee ></div>
</div>

<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.2/angular.min.js"></script>

<script>
    var app = angular.module("myApp", []);
    app.directive("w3TestDirective", function() {
        return {
            template : "howw!"
        };
    });
</script>
<script>
    var app = angular.module("myApp");
    app.directive("w3TestDirectivee", function() {
        return {
            template : "hie how are you!"
        };
    });
</script>
另一答案

删除app模块的多个定义,即移除define app的第一个指令。

<div ng-app="myApp">
    <div w3-test-directive></div>
    <div w3-test-directivee></div>
</div>

<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.2/angular.min.js"></script>

<script>
    var app = angular.module("myApp", []);
    app.directive("w3TestDirective", function () {
        alert("w3TestDirective called");
        return {
            template: "howw!"
        };
    });
</script>
<script>
   // var app = angular.module("myApp", []);
    app.directive("w3TestDirectivee", function () {
        alert("w3TestDirectivee called");
        return {
            template: "hie how are you!"
        };
    });
</script>

以上是关于这个简单程序的输出是什么?为什么?的主要内容,如果未能解决你的问题,请参考以下文章

这个简单程序的输出是什么?为什么?

在这个 spark 代码片段中 ordering.by 是啥意思?

为啥这个链表程序没有给出任何输出?

什么是蹦床功能?

为啥这段代码会泄露? (简单的代码片段)

为啥这个简单的 R Shiny 输出不使用 ggplot 绘图?