angular编程的一些基础知识都有哪些?

angular编程的一些基础知识都有哪些?,第1张

对于程序员来说,除了需要了解不同的编程语言的特点以外,同时对于编程语言的使用都有自己的风格。今天,电脑培训就一起来了解一下,angular编程的一些基础知识都有哪些。

一、指令的简介

指令其实就是angularjs对html的一个扩展,实现自定义html元素

angularjs其自身封装了一些常用的系统指令,我们也可以根据需要自定义指令

二、自定义指令简介

自定义指令的基本格式

app.directive("指令名称",function(){

restrict:'指令匹配格式',

replace:true,是否自定义元素替代指令申明

template:'百度一下'

})

自定义指令关键词说明:

指令名称说明:名字一般采用驼峰命名,及字母小写其余单词大写

在调用时,要将大写字母转换为小写并加上-

举例:myDirectiveTest调用为:my-directive-test

restrict有四种枚举值:

E:指令按照元素来匹配

使用:

C:按照class来匹配

使用:

A:按照属性来匹配

使用:

M:按照注释来匹配

这是 Angular.JS 几乎电子邮件检查元素代码是好的但这有一个问题。 当我填写电子邮件检查元素时,它将重置 !

我写这篇文章到电子邮件检查元素的示例。

"test@test.com"

但这重置 !当我写 '.' <-点。

"test@test"<-好的

"test@test"。 <-重置输入。当我写 '.' <-

发生问题的原因吗?

Javascript

<script>

angular.module('test', [])

.controller('MyController', ['$scope', '$window', function($scope, $window) {

$scope.sendMessage=function(toSb){

alert(toSb)

}

}])

.directive('emailInput', function($compile) {

return {

restrict: 'C',

template: '<input type="email" ng-model="emailtext" required>{{emailtext}}',

link: function(scope, elem, attrs){

scope.name="emailAddress"

var input = elem.find("input")[0]

input.name = "emailAddress"

$compile(input)(scope)

}

}

})

</script>

HTML

<form name="myForm">

<div class="email-input"></div>

inputIsValid={{myForm.emailAddress.$valid}}<br>

<span class="error" ng-show="myForm.emailAddress.$error.required">Required!</span>

<span class="error" ng-show="myForm.emailAddress.$error.email">Not valid email!</span>

</form>

解决方法 1:

你需要使你的指令与替换选项和名称属性得到指令元素 (基本上做不重新编译一次输入)。它是展示古怪行为时,你有你的指令编译,它将重置 (未定义) 解析后的 modelValue 但以某种方式在这种情况下,它将 viewvalue 以及重置角验证。你可以看到它并不会发生是否您使用的输入的类型直接,看来像是编译模板导致了此问题。

.directive('emailInput', function ($compile) {

return {

restrict: 'C',

replace:true,

template: '<input type="email" ng-model="emailtext" required>',

link: function (scope, elem, attrs) {

}

}

<div class="email-input" name="emailAddress"></div>

Plnkr


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12056932.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存