函数未被调用且console.log未打印

时间:2017-08-03 22:47:18

标签: javascript jquery angularjs logging

我的Angular函数没有被调用,它应该是最简单的事情。

在函数内部,我有一个不打印的console.log()语句。

之前我已经复制了这段代码(减去了jQuery),所以这可能是问题吗?

这是.js文件:

(function($) {
"use strict"; // Start of use strict

// jQuery for page scrolling feature - requires jQuery Easing plugin
$(document).on('click', 'a.page-scroll', function(event) {
    var $anchor = $(this);
    $('html, body').stop().animate({
        scrollTop: ($($anchor.attr('href')).offset().top - 50)
    }, 1250, 'easeInOutExpo');
    event.preventDefault();
});

// Highlight the top nav as scrolling occurs
$('body').scrollspy({
    target: '.navbar-fixed-top',
    offset: 100
});

// Closes the Responsive Menu on Menu Item Click
$('.navbar-collapse ul li a').click(function() {
    $('.navbar-toggle:visible').click();
});

// Offset for Main Navigation
$('#mainNav').affix({
    offset: {
        top: 50
    }
})

var app = angular.module('myContent',[]);

app.controller('ContentController',function($scope) {

    $scope.XG = function(){
        $scope.hideCCAD = true;
        $scope.hideMATE = true;
        $scope.hideWGA = true;
        $scope.hideXG = true;
        console.log("hello")
    };


});

})();

})(jQuery); // End of use strict

以下是精简HTML:

<section id="features" class="features" ng-
 controller="ContentController">
    <div class="container">
        <div class="row">
            <div class="container-fluid">
                <div class="containerX">
                    <div class="column column-one">
                        <ul>
                            <button ng-click="CCAD()" 
                             type="button">CCAD</button>
                            <button ng-click="XG()" 
                             type="button">XG</button>
                            <button ng-click="MATE()" 
                             type="button">MATE</button>
                            <button ng-click="WGA()" 
                            type="button">WGA</button>
                        </ul>
                    </div>
               ....

所以,当我点击按钮XG时,我希望它隐藏某些div。

那不行,所以我把日志声明放进去,甚至没有出现。

我做错了什么?

3 个答案:

答案 0 :(得分:0)

<section id="features" class="features" ng- controller="ContentController">

ng-controller之间有空格。以下应该有效:

<section id="features" class="features" ng-controller="ContentController">

答案 1 :(得分:0)

删除所有代码,您可以看到问题:

(function($) {

})();

})(jQuery); // End of use strict

应该是

(function($) {

})(jQuery);// End of use strict

此外,没有必要在封闭内部包裹角度。

答案 2 :(得分:-1)

我根本不熟悉Angular,但根据我在此处看到的内容,您的某个标签中可能缺少ng-app="myContent"属性:

  

W3 school angular