angularjs--自定义指令和模板

嫣然一笑      2022-02-07     187

关键词:

一、自定义指令:

  1. 先创建模块    var app=angular.module("myApp",[]);

  2. 创建自定义指令 (directive后面的参数一:自定义指令的名称,参数二:function 返回值是一个对象 template是模板)

  app.directive("shen",function(){
  return {
  template:"<h1>这是自定义属性</h1>"
  }
  })
  3.划定模块范围,使用自定义指令
  <body ng-app="myApp">
  <shen></shen>

二、模板--引入外部文件

上面是模板最基本的使用方式,模板还可以引用外部文件,当模板的内容稍大一点的时候,引用外部文件更好
定义一个模板文件,最好是把作为模板的文件统一放在template文件夹下。模板文件不需要html、body等标签,直接写你需要的模板标签即可

   

  此时自定义指令中的template换成templateUrl,后面写模板文件的相对路径,其他不变

     

三、在script标签中写模板

  新建一个script标签,这个标签必须有id,和type,id随便取名字,type为固定写法  type="text/ng-template"。

  在这个script标签中写模板,写法和一般标签写法一样。

  此时自定义指令中templateUrl对应的值为 script标签的id名

     

四、自定义指令的不同实现方式

  以上方法中自定义指令都是以标签的形式实现的,其实自定义指令还可以用属性和类名的形式实现

  

  当以类名形式编写时,还必须在定义指令时添加restrict属性  (使用属性和标签的方式时不写也可正常显示)  

  restrict是“限制”的意思,属性值可以为E(element),A(attribute),C(class),当你希望实现方式只能是标签时,可以写restrict:“E”,restrict:“EAC”表示三种方式都可以,以此类推。

  

五、自定义模板内容

  上面的模板内容都是固定的,实际开发中模板的内容都是由项目需要而生成的,如何让每一个模板的内容不一样呢? 使用   transclude

  1. 在模板中的标签里添加 ng-transclude,(如果你需要某个标签里的内容自定义就添加ng-transclude属性,如果希望是固定的值就不需要加)

  2. 添加属性 transclude:true

  2. 在实现自定义指令时,把自定义的内容写在指令标签的里面即可

        

 

 

 

  

  

 

 

 

 

 




  

 

angularjs[26]-自定义指令(templateurl)

templateUrl:加载模板所要使用的URL。可以加载当前模板内对应的text/ng-templatescriptid。在使用chrome浏览器时,“同源策略”会阻止chorme从file://中加载模板,并显示一个“Access-Control-Allow-Origin”不允许源为null,可以把项目放在服务... 查看详情

angularjs中自定义指令

学习了angularJS一周,但是大部分时间被自定义指令占用了。博主表示自学互联网好心塞的,发现问题的视觉很狭窄,这比解决问题要更难。这篇文章首先介绍了自定义,然后介绍了在使用自定义指令遇到的问题。 代码模板:... 查看详情

AngularJS 自定义指令两种方式绑定

】AngularJS自定义指令两种方式绑定【英文标题】:AngularJSCustomDirectiveTwoWayBinding【发布时间】:2013-09-2319:33:11【问题描述】:如果我有一个没有模板的AngularJS指令,并且我希望它在当前范围内设置一个属性,那么最好的方法是什... 查看详情

angularjs自定义过滤器服务和指令

自定义过滤器1mainApp.filter(‘mayfilter‘,function(){2returnfunction(input){3(过滤逻辑代码)4}5});  自定义创建指令1mainApp.derectiv("derectiveName",function(){2return{3restrict:"E",//定义类型:E(元素),C(class),A(属性),M(注 查看详情

在自定义指令的范围绑定中使用符号“@”、“&”、“=”和“>”:AngularJS

...范围绑定中使用符号“@”、“&”、“=”和“>”:AngularJS【英文标题】:Useofsymbols\'@\',\'&\',\'=\'and\'>\'incustomdirective\'sscopebinding:AngularJS【发布时间】:2016-10-1513:59:42【问题描述】:我已经阅读了很多关于在AngularJS中实... 查看详情

走进angularjs自定义指令----(中)

  上一篇简单介绍了自定义一个指令的几个简单参数,restrict、template、templateUrl、replace、transclude,这几个理解起来相对容易很多,因为它们只涉及到了表现,而没有涉及行为。这一篇将继续学习ng自定义指令的几个重量级参... 查看详情

angularjs表单验证ngmessages和创建自定义指令结合

index.html1<!doctypehtml>2<html>3<head>4<metacharset="utf-8">5</head>6<style>7/*input.ng-invalid{8border:1pxsolidred;9}10input.ng-valid{11border:1pxsolidgreen;12}*/ 查看详情

angularjs自定义指令之可选参数replace

replace是一个可选参数,如果设置了这个参数,值必须为true,因为默认值为false。默认值意味着模板会被当作子元素插入到调用此指令的元素内部:如:<my-directive></my-directive>.directive("myDirective",function(){    ... 查看详情

将 keydown 事件定位到 angularJS 自定义指令

】将keydown事件定位到angularJS自定义指令【英文标题】:TargetingkeydowneventstoanangularJScustomdirective【发布时间】:2021-07-1118:45:57【问题描述】:我正在处理一个问题,其中我需要在某个自定义指令和某些条件下(某个选项卡应该是选... 查看详情

angularjs模板终常用的指令的使用方法

一、模板中可使用的东西及表达式  模板中可以使用的东西包括以下四种:指令(directive)。ng提供的或者自定义的标签和属性,用来增强HTML表现力。标记(markup)。即双大括号{{}},可将数据单向绑定到HTML中。过滤器(filter)。用来... 查看详情

angularjs自定义指令详解

...不得转载。//blog.csdn.net/qq_27626333/article/details/52261409除了AngularJS内置的63个指令外,我们还可以创建自定义指令。你可以使用.directive函数来添加自定义的指令。要调用自定义指令,HTML元素上需要添加自定义指令名。使用驼峰法来... 查看详情

angularjs:directive自定义的指令

除了AngularJS内置的指令外,我们还可以创建自定义指令。你可以使用 .directive 函数来添加自定义的指令。要调用自定义指令,HTML元素上需要添加自定义指令名。使用驼峰法来命名一个指令, runoobDirective,但在使用它时... 查看详情

angularjs自定义指令实现分页插件

由于最近的一个项目使用的是angularjs1.0的版本,涉及到分页查询数据的功能,后来自己就用自定义指令实现了该功能。现在单独做了个简易的小demo,主要是为了分享自己写的分页功能。注:本实例调用的是真实接口数据。首先... 查看详情

材料升级后AngularJS自定义指令双向绑定中断

】材料升级后AngularJS自定义指令双向绑定中断【英文标题】:AngularJScustomdirectivebidirectionalbindingbrokenaftermaterialupgrade【发布时间】:2017-08-0107:47:38【问题描述】:我写了一个在Angular1.6.1和material1.1.1下工作的小指令。这是一个简单... 查看详情

测试自定义验证 angularjs 指令

】测试自定义验证angularjs指令【英文标题】:Totestacustomvalidationangularjsdirective【发布时间】:2013-02-1914:42:45【问题描述】:这个自定义验证指令是官方Angular网站上的一个示例。http://docs.angularjs.org/guide/forms它检查文本输入是否为... 查看详情

angularjs学习笔记——自定义指令

对指令的第一印象:它是一个自定义标签!先来看一个简单的指令:<!doctypehtml><htmlng-app="myApp"><head><title>自定义指令</title><scripttype="text/javascript"src="http://localhost:10100/angular.min.js"chars 查看详情

自定义 AngularJS 指令未注册

】自定义AngularJS指令未注册【英文标题】:CustomAngularJSdirectivesnotregistering【发布时间】:2016-01-0816:56:38【问题描述】:我正在尝试在我的AngularJS网站中实现一些指令,以允许使用自定义页面标题/描述对其进行SEO缓存。我已经设... 查看详情

Angularjs 自定义 select2 指令

】Angularjs自定义select2指令【英文标题】:AngularjsCustomselect2directive【发布时间】:2015-06-2101:33:09【问题描述】:我为这个很棒的jquery插件jQuery-Select2创建了简单的自定义AngularJs指令,如下所示:指令app.directive("select2",function($timeout... 查看详情