封装选项卡 2018-03-23

//引入angular.js


<body ng-controller="ctrl">

     <my-tab my-data="arr" ny-fn="fn(num)" my-index="index"></my-tab>

</body>


<scritpt>

      let app=angular.module("app",[]);

      app.directive("myTab",function(){

                    return{

                                   restrict:"ECMA",

                                   replace:true,

                                  //独立作用域scope的绑定方式

                                    scope:{

                                                    // 数据和下标都用双向绑定

                                                   myData:"=",

                                                   myIndex:"=",

                                                  //函数单项绑定

                                                   myFn:"&"

                                    },

                                   templateUrl:"./module.html",

                                   //link:function(scope,ele,attr,superCtrl){

                                                              //console.log(scope);

                                                             //console.log(ele);

                                                           //console.log(attr);

                                   //}

               }

         })

        app.controller("ctrl",["$scope",function($scope){

                    $scope.arr=[

                                            {til:"首页",content:"这是首页的内容"},

                                            {til:"第二页",content:"这是第二页的内容"},

                                            {til:"第三页",content:"这是第三页的内容"},

                                            {til:"第四页",content:"这是第四页的内容"}

                    ];

                   //    初始化下标 页面打开时出现的页面

                      $scope.index=0;

                 //点击事件

                     $scope.fn=function(index){

                                       $scope.index=index;

                    };

        }])

</script>


moduel.html

<div>

         <ul>

             <li ng-repeat="val in myData"

                  ng-class="{'active':$index==myIndex}"

                   ng-click="myFn({num:$index})">

                    {{val.til}}

              </li>

         </ul>

         <div>

                 <p ng-show="$index==myIndex"

                       ng-repeat="val in myData">

                       {{val.content}}

             </p>

       </div>

</div>

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容