gpt4 book ai didi

javascript - Angular Directive(指令)不看

转载 作者:行者123 更新时间:2023-12-02 16:03:52 25 4
gpt4 key购买 nike

我正在 AngularJS 中使用指令,我试图检查我的字段是否 $dirty,如果是这样,我想记录一条消息,当它发生变化时,我想显示另一条消息(这句话将是稍后替换为更复杂的东西)。

我想在所有输入中重用我的指令,但我不能。提前致谢。

<input ng-edited ng-model="stakeholder.nombre" name="nombre" type="text">

我的指令是这样的:

MetronicApp.directive('ngEdited', function () {
return {
restrict: 'A',
require: ['^form', 'ngModel'],
link: function (scope, elem, attrs, req) {
scope.elemDirty = req[1].$dirty;
scope.elemName = req[1].$name;
var doFunction = function () {
if (scope.elemDirty) {
console.log("true");
} else {
console.log("false");
}
};
scope.$watch(scope.elemName, doFunction, true);
}
};
});

最佳答案

基于this answer ,为什么不尝试一下

link: function (scope, elem, attrs, ngModel) {
var doFunction = function (isDirty) {
if (isDirty) {
console.log("true");
} else {
console.log("false");
}
};
scope.$watch(function(){return ngModel[1].$dirty;},doFunction);
}

See plunker

编辑

我注意到在你的问题中你试图观察元素名称的变化。我不确定您将如何更改该属性,但如果您是,请使用 attrs.$observe

attrs.$observe('name', doFunction);

关于javascript - Angular Directive(指令)不看,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30961514/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com