我有以下html可以使用$ dirty更改输入时起作用并更改div的类:
<div class="text-input" ng-class="{typing : (loginForm.test.$dirty || loginForm.test.length > 0)}">
<span>Username</span>
<input type="text" name="test" ng-model="user.name" placeholder="test">
</div>
但是,当我尝试将此变为指令时,它的ng-class部分停止工作。谁能帮助我使其正常运行?
指示:
angular.module('myApp').directive('smartInputElement',function(){
return {
restrict: 'E',
require: 'ngModel',
compile: function(element, attrs) {
element.replaceWith('<div class="text-input" ng-class="{typing : ('+attrs.formname+'.'+attrs.name+'.$dirty || '+attrs.formname+'.'+attrs.name+'.length > 0)}">'+
'<span>'+attrs.label+'</span>'+
'<input type="text" name="'+attrs.name+'" ng-model="ngModel" placeholder="'+attrs.name+'"></div>');
}
}
});
该指令的html是:
<smart-input-element name="username" formName="loginForm" label="Username" ng-model="username"></smart-input-element>
这是一个小矮人:http
://plnkr.co/edit/3AFOHZFgExZKHjnd3gb0?p=preview
在替换compile函数中的元素时,您应该:
指示:
app.directive('smartInputElement', function($compile) {
return {
restrict: 'E',
priority: 1001,
terminal: true,
compile: function(tElm, attrs) {
var template = angular.element(
'<div class="text-input" ng-class="{typing : (' + attrs.formname + '.' + attrs.name + '.$dirty || ' + attrs.formname + '.' + attrs.name + '.length > 0)}">' +
'<span>' + attrs.label + '</span>' +
'<input type="text" name="' + attrs.name + '" ng-model="' + attrs.ngModel + '" placeholder="' + attrs.name + '">' +
'</div>');
tElm.replaceWith(template);
var fn = $compile(template);
return function(scope) {
fn(scope);
};
}
};
});
问题内容: 和之间有什么区别?似乎你们两个都可以成为: 问题答案: 该班告诉你,形式已经被用户修改,而类告诉你的形式还没有被用户修改。因此,和是同一故事的两个方面。 这些类被设置在任意字段中,而形式具有两个属性,和。 您可以使用该函数将表单重置为原始状态(请注意,这是AngularJS 1.1.x功能)。 如果甚至在AngularJS的1.0.x分支中也想要-ish行为,则需要推出自己的解决方案。
问题内容: 我正在构建AngularJS指令。我希望该指令包装其中包含ng-click的其他内容。单击后,结果按钮不执行任何操作。这是我尝试过的代码的简化版本: (HTML) (JavaScript) 如何更改它,以便该按钮实际触发$ scope.refresh()函数? 额外说明: 我需要该指令的本地对象信息(单个控制器中可以有多个该指令),因此我创建了一个新作用域。 问题答案: 就像dcode
Angularjs ng用div标记重复。。我有一个带有div标记的代码,如图所示。。我想重复整个div,在第二个循环中img src是不同的。。如何使用angularjs中的ng repeat指令执行此操作?
问题内容: 我有以下创建元素的AngularJS指令。输入具有运行功能的属性。在指令的单元测试中,我想检查用户更改输入时是否调用了函数。但是测试没有通过。虽然在手动测试时可以在浏览器中使用。 指示: 测试: 实时演示(ng-change):http : //plnkr.co/edit/0yaUP6IQk7EIneRmphbW?p=preview 现在,如果我手动绑定事件而不是使用属性,则测试通过。
问题内容: 我正在编写一个在x86-32和x86-64 Linux中使用和进行反汇编的工具。问题是,尽管我能够分解libopcode,但无法获得任何指令信息。为了演示起见,我举了一个最小的例子来重现我的问题。该程序应从入口点反汇编到第一个/ 。 该代码有点被全局变量所破坏,为简洁起见,省略了错误检查等,但是应该清楚地说明问题。 可以使用以下内容构建此源。要执行成功的链接,需要将该软件包安装在本地计
问题内容: 是否可以使ng-include指令与CDN一起使用? 在这种情况下: somewebsite.com的cdn子域通过DNS / CName映射到内容传递网络。 但是,在加载主网站somewebsite.com时,它不会呈现模板。我想在内部将其视为跨域调用。 是否有任何变通方法可以将Angular模板托管在第三方CDN上并与本地域一起使用? 问题答案: 是的,您是对的-问题出在跨域调用。