anguar使用指令写选项卡

今天,我们来学习一下angular中怎么使用指令来实现两个选项卡的问题。

首先,要先引入jQuery文件与angularjs文件。

<!DOCTYPE html><html lang="en" ng-app="app"><head>    <meta charset="UTF-8">    <title>Title</title>    <style>        /*定义选中按钮样式*/        .on {            background: red;        }        /*对内容进行布局*/        p {            border: #000 1px solid;            width: 200px;            display: none;            height: 200px;        }    </style>    <script src="jquery-3.1.1.js"></script>    <script src="angular.min.js"></script>    <script>        var app=angular.module("app",[]);//定义angular模块        app.controller("ctrl",function ($scope) {            $scope.list=[                {"name":"新闻","content":"新闻"},                {"name":"体育","content":"体育"},                {"name":"娱乐","content":"娱乐"}                ];            $scope.list2=[                {"name":"新闻2","content":"新闻2"},                {"name":"体育2","content":"体育2"},                {"name":"娱乐2","content":"娱乐2"},                {"name":"农业","content":"农业"}            ]        });        app.directive("myTab",function () { //定义名字时要使用驼峰式命名法            return{                link:function (scope,element,attr) {//使用jQuery来实现效果                    element.delegate("input","click",function () {                        $(this).attr("class","on").siblings("input").attr("class","");                        $(this).siblings("p").eq($(this).index()).show().siblings("p").hide();                    })                },                restrict:"ECMA",                replace:true,//                scope:true,//解决冲突问题                scope:{                    myId:"@",  //绑定字符串                    myData:"=" //绑定变量                }                templateUrl:"tab.html"            }        })    </script></head><body ng-controller="ctrl">    <my-tab my-id="div1" my-data="list"></my-tab>    <my-tab my-id="div2" my-data="list2"></my-tab></body></html>

tab.html部分
<div id="{{myId}}">    <input ng-repeat="data in myData" type="button" value="{{data.title}}" ng-class="{on:$first}">    <p ng-repeat="data in myData" ng-style="{display: $first ?  ‘block‘ : ‘none‘}">{{data.content}}</p></div>这样小小的两个选项卡效果就完成了,你们学会了吗?你们也可以使用自定义指令的方式写拖拽。
				
时间: 2024-08-08 20:36:41

anguar使用指令写选项卡的相关文章

把ps -ef &amp; kill指令写成可以自动执行的shell脚本

之前重启服务器上的服务,均是先使用ps -ef | grep xxx指令查询出PID,然后再使用kill -9 PID指令杀死进程.由于重启的服务只止一个,每次都要重复输入,甚是麻烦. 示例 今天研究了一下,把以上手动查杀.重启服务的过程写成了shell脚本,重启服务只需执行脚本就可以了.附脚本样例: 1 #!/bin/sh 2 3 # restart das-web 4 ps -ef | grep /home/***/das-web/ | awk '{print $2}' | xargs -n

jQuery写选项卡

<!DOCTYPE html> <htmllang="en"> <head> <metacharset="UTF-8"><title>choseCart</title> <script src="https://cdn.bootcss.com/jquery/1.8.3/jquery.js"></script> <styletype="t

JavaScript写选项卡

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>选项卡1</title> <style> #div1 div { width: 200px; height: 200px; background-color: #ccc; border: 1px solid pink; display: none

面向对象写选项卡、拖拽

js: 面向对象说白了就是一个黑匣子,所谓黑匣子就是知道具体怎么弄但不了解里面运转流程. 面向对象的组成:属性.方法. 属性其实也就是js里面常用的对象,只不过换了一只叫法. 至于方法则是js里面常用的函数. 唯一两者的区别,属性和方法是被定义的,也就是它们是被束缚的,反之,函数.对象异然. 例子: var a=12; alert(a);               //对象是自由的 var arr=[1,2,3,4]; arr.a=14; alert(arr.a);         //属性被

用构造函数的方法写选项卡

<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> </head> <body> <div id="tab"> <div class="btns"> <button type="button">1</butt

学习AngularJs:Directive指令用法(完整版)

这篇文章主要学习AngularJs:Directive指令用法,内容很全面,感兴趣的小伙伴们可以参考一下 本教程使用AngularJs版本:1.5.3 AngularJs GitHub: https://github.com/angular/angular.js/ AngularJs下载地址:https://angularjs.org/ 摘要:Directive(指令)笔者认为是AngularJ非常强大而有有用的功能之一.它就相当于为我们写了公共的自定义DOM元素或LASS属性或ATTR属性,并

跟我学AngularJs:Directive指令用法解读(下)

此文接 跟我学AngularJs:Directive指令用法解读(上) 8.transclude 如果不想让指令内部的内容被模板替换,可以设置这个值为true.一般情况下需要和ngTransclude指令一起使用. 比如:template:"<div>hello every <div ng-transclude></div></div>",这时,指令内部的内容会嵌入到ng-transclude这个div中.也就是变成了<div>

[转]你知道用AngularJs怎么定义指令吗?--很详细

前言 最近学习了下angularjs指令的相关知识,也参考了前人的一些文章,在此总结下. 欢迎批评指出错误的地方. Angularjs指令定义的API AngularJs的指令定义大致如下 angular.module("app",[]).directive("directiveName",function(){ return{ //通过设置项来定义 }; }) 其中return返回的对象包含很多参数,下面一一说明 1.restrict (字符串)可选参数,指明指令

angularJs指令深度分析

AngularJs的指令定义大致如下 angular.module("app",[]).directive("directiveName",function(){ return{ //通过设置项来定义 }; })其中return返回的对象包含很多参数,下面一一说明 你知道用AngularJs怎么定义指令吗? 1.restrict (字符串)可选参数,指明指令在DOM里面以什么形式被声明: 取值有:E(元素),A(属性),C(类),M(注释),其中默认值为A: E(元