1

我正在尝试制作一个简单的显示/隐藏功能,但我需要先 DIV 打开“显示”我该怎么做?

<button ng-click="addClient = true;addClient1 = false;">Client</button>
<button ng-click="addClient1 = true;addClient = false;">Client1</button>

<div ng-show="addClient">Client</div>
<div ng-show="addClient1">Cliente1</div>

http://jsfiddle.net/Tyq38/

4

1 回答 1

4

你可以用ng-init它。

角度文档

ngInit 指令允许您评估当前范围内的表达式。

<div ng-init="addClient = true">
    <button ng-click="addClient = !addClient; addClient1 = !addClient1">Client</button>
    <button ng-click="addClient1 = !addClient1; addClient = !addClient; ">Client1</button>

    <div ng-show="addClient">Client</div>
    <div ng-show="addClient1">Cliente1</div>
</div>

更好的选择

正如评论中所指出的,您可以代替使用函数在控制器中切换这些设置:

function MyCtrl($scope) {

    $scope.addClient = true;
    $scope.addClient1 = false;

    $scope.toggle = function () {
        $scope.addClient = !$scope.addClient;
        $scope.addClient1 = !$scope.addClient1;
    };
}

并像这样更改 html 标记:

<div ng-controller="MyCtrl">
    <button ng-click="toggle()">Client</button>
    <button ng-click="toggle()">Client1</button>

    <div ng-show="addClient">Client</div>
    <div ng-show="addClient1">Cliente1</div>
</div>
于 2014-05-25T18:42:57.430 回答