我刚开始使用AngularJS,就遇到了ng-switch,在这里我发现它仅对<div>标记有效,例如

<div ng-app="myApp" ng-controller="switchController">
    <div ng-switch on="myData.text">
      <p ng-switch-when="1">Switch To 1</p>
      <p ng-switch-when="2">Switch To 2</p>
      <p ng-switch-default>Switch To Default</p>
    </div>
</div>


当我在下面声明它时,它将引发错误!

<div ng-app="myApp" ng-controller="switchController">
    <p ng-switch on="myData.text">
      <p ng-switch-when="1">Switch To 1</p>
      <p ng-switch-when="2">Switch To 2</p>
      <p ng-switch-default>Switch To Default</p>
    </p>
</div>


JavaScript:

angular.module("myApp", [])
        .controller("switchController", function($scope) {
            $scope.myData = {};
            $scope.myData.text = 2;
            console.log($scope.myData.text);
});


PLUNKER DEMO

最佳答案

抱歉,过早发布了我的评论。

这不起作用,因为嵌套的<p>标记是无效的HTML。

<div ng-app="myApp" ng-controller="switchController">
    <p ng-switch on="myData.text">
      <p ng-switch-when="1">Switch To 1</p>
      <p ng-switch-when="2">Switch To 2</p>
      <p ng-switch-default>Switch To Default</p>
    </p>
</div>

关于javascript - AngularJS ng-switch在<p>标签上引发错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25905076/

10-09 17:43