AngularJS设置变量do ng-show

时间:2014-05-25 18:40:18

标签: angularjs ng-show

我试图制作一个简单的显示/隐藏功能,但我需要先打开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/

1 个答案:

答案 0 :(得分:4)

您可以使用ng-init

来自angular docs

  

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>