指令Angularjs、$watch和HTML元素
我有个问题。我用angularjs指令编写了一个HTML页面 这是我的密码指令Angularjs、$watch和HTML元素,html,angularjs,element,directive,watch,Html,Angularjs,Element,Directive,Watch,我有个问题。我用angularjs指令编写了一个HTML页面 这是我的密码 <menufileupload visible="rightVisible" alignment="right"> <input type="text" ng-model='expr'/> <!--Other stuff--> </menufileupload> 我正在尝试使用$watch检查文本字段中的任何更改 $scope.$watch(…
<menufileupload visible="rightVisible" alignment="right">
<input type="text" ng-model='expr'/>
<!--Other stuff-->
</menufileupload>
我正在尝试使用$watch检查文本字段中的任何更改
$scope.$watch(…)仅在文本字段超出范围时工作
指令。所以我认为我必须在指令中创建一个$watch。我做到了。但它不起作用
指示
app.directive("menufileupload", function() {
return {
restrict: "E",
template: "<div>bla</div>",
link: function(scope, elem, attrs) {
scope.$watch('expr', function(obj) {
alert("it changed");
}, true);
}
};
});
app.directive(“menufileupload”,function()){
返回{
限制:“E”,
模板:“bla”,
链接:功能(范围、要素、属性){
范围:$watch('expr',功能(obj){
警惕(“它改变了”);
},对);
}
};
});
感谢您的帮助您的指令中有一个模板,因此其中的所有内容都将替换为该标签 如果删除模板,则效果良好。我为您的代码制作了一个codepen示例:
如果希望输入元素显示在指令DOM中,则应使用
ngTransclude
指令。请在文档中查看。如果您能从更高的层次了解您需要解决的问题,可能会更有帮助。我想你可能走错了路。
angular.module('test', [])
.directive('menufileupload', function () {
return {
restrict: "E",
link: function(scope, elem, attrs) {
scope.$watch('expr', function(obj) {
alert("it changed");
}, true);
}
};
});