AngularJs指令不工作/可见

时间:2016-05-22 19:04:21

标签: javascript angularjs

我刚刚开始使用AngularJs。我试图实现登录指令。但是我没有看到输出?我的控制台中没有错误。

我的申请结构:

enter image description here

index.html不可见)

login.directive.js

(function() {
    'use strict';

    angular
        .module('lnjapp.login',[])
        .directive('login', login);

    function login() {
        var directive = {
            template: '<p>test</p>',
            //restrict: 'E',
            Controller: LoginController,
            controllerAs: 'vm'
        };
        return directive;
    }   
})();

app.js

(function () {
    'use strict';

    angular.module('lnjapp', ['ngRoute', 'ngCookies', 'angular.filter','lnjapp.login','lnjapp.config'])
    .constant('GLOBALS', {
        url:'http://domain.dev/api/v1/'
    });

    $(document).ready(function() {
        $.material.init();
    });
})();

应用/页/ login.html的

<login></login>

- 的修改 -

login.controller.js

(function() {
    'use strict';

    angular.module('lnjapp.login',[])
    .controller('LoginController', LoginController);

function LoginController()
{}
})();

路由config.js

angular
    .module('lnjapp.config',[])
    .config(config);

function config($routeProvider) {
    $routeProvider
        .when('/', {
            templateUrl: '/app/pages/login.html'
        });
}

我在这里做错了什么?

1 个答案:

答案 0 :(得分:2)

您<{1}}两次创建,一次在lnjapp.login,再次在login.directive.js。第二次创建模块时,它会覆盖第一个模块,并且将无法再访问在第一个文件中创建的任何内容。

您应始终只创建一次模块,并获取已创建的模块以在所有其他情况下添加其他功能。

设置(创建):login.controller.js

获取(消费):angular.module('lnjapp.login',[])

有关更多信息和其他最佳做法,请参阅John Papa的优秀Angular Style Guide