簡體   English   中英

AngularJS:ng-click不起作用

[英]AngularJS: ng-click not working

我在模板add-new-document-template.html包含一個組按鈕:

<div class="col-sm-4" style="text-align: right">
        <div class="btn-group" role="group">
            <button class="btn btn-default" ng-class="{active: layout == 'list'}"
                    ng-click="listView()">
                <i class="fa fa-list-ul fa-lg"></i></button>
            <button class="btn btn-default" ng-class="{active: layout == 'grid'}" ng-click="gridView()">
                <i class="fa fa-th fa-lg"></i></button>
        </div>
    </div>

這是指令:它是在父指令中灌輸的

angular.module('bdocinteractive.addNewDocument')
.constant("NEW_DOC_TEMP_URL", {
    url: 'src/app/add-new-document/add-new-document-template.html'
})
.directive("addNewDocument", ["NEW_DOC_TEMP_URL", function (tempURL) {
    return {
        scope: true,
        restrict: 'E',
        controller: 'AddNewDocumentController',
        controllerAs: "addDocCtrl",
        templateUrl: tempURL.url
    }
}]);

這是我的控制器:

angular.module("bdocinteractive.addNewDocument").
controller("AddNewDocumentController", ["$scope", "AddNewDocumentService",
    function ($scope, AddNewDocumentService) {
        var me = this;
        $scope.gridView = function () {
            $scope.layout = "grid";
        };
        $scope.listView = function () {
            $scope.layout = "list";
        };
        $scope.models = [];
        $scope.layout = "list";
        $scope.modelSelectedId = "";
        AddNewDocumentService.getAllModels().success(function (data) {
            $scope.models = data;
        });
    }]
);

單擊按鈕時,不會觸發ng-click

你能幫我嗎

注意:我正在使用Angular 1.3.15版本

您在$scope上定義了一個alert方法嗎? ng-click中的表達式不會在全局對象(窗口)上規避,因此您不能在該表達式中引用任何全局變量。 您需要類似:

$scope.alert = window.alert;

這是更新的答案...

我假設您在切換$scope.layout的值時$scope.layout ,上面的示例似乎可以正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM