我一直在阅读使用HTML5和JavaScript的游戏设计,它向我介绍了对象.因此,在阅读完本书并开展项目后,我决定采用这些新发现的知识并将对象集成到我自己的项目中.所以这是我的问题可以或应该对象调用自己的函数?例如:
var someObject = {
start: function() {
check();
},
check: function() {
console.log("Check!");
}
};
someObject.start();
Run Code Online (Sandbox Code Playgroud)
这本书确实展示了一个带有计时器的例子:
var timer = {
start: function() {
var self = this;
window.setInterval(function(){self.tick();}, 1000);
},
tick: function() {
console.log('tick!');
}
};
Run Code Online (Sandbox Code Playgroud)
在带有timer对象的示例中,它为self调用内部函数,因此这意味着我应该使用self来调用内部函数,或者这是使用对象执行此操作的正确方法吗?还是最佳实践?提前致谢.
var someObject = {
start: function() {
var self = this;
self.check();
},
check: function() {
console.log("Check!");
}
};
someObject.start();
Run Code Online (Sandbox Code Playgroud) 如果用户单击"提交"并且使用AngularJS表单字段为空,我想将输入字段设置为ng-invalid.我知道一个指令可以用于自定义表单验证,并使用$ setValidity手动设置输入字段,但我不确定我需要一个指令来突出显示提交时的空/必填字段.任何帮助将不胜感激.谢谢.
这是我正在使用的代码:HTML
<form name="SignUpForm ng-submit="submitUser()" novalidate>
<input type="text" name="dob" ng-model="dob" placeholder="Date of Birth" required />
<span class="error" ng-show="signUpForm.dob.$dirty && signUpForm.dob.$invalid">Please provide a valid date of birth</span>
<input type="text" name="email" ng-model="email" ng-pattern="/^([0-9a-zA-Z]([-\.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/" placeholder="Email" required />
<span class="error" ng-show="signUpForm.email.$dirty && signUpForm.email.$invalid">Please provide a valid email address</span>
<button type="submit">Submit</submit>
</form>
Run Code Online (Sandbox Code Playgroud)
SASS/CSS
input {
&.ng-valid.ng-dirty {
color: #fff;
background-color: rgba(146, 253, 156, 0.5);
border-color: #92fd9c;
box-shadow: inset 2px 2px 2px #92fd9c;
}
&.ng-invalid.ng-dirty {
color: #850000;
background: rgba(254, 186, 186, 0.5);
border: 1px …
Run Code Online (Sandbox Code Playgroud)