[英]Angular - Directive not working
我是Angular的新手。 不知道为什么指令在下面不起作用。 搜索了一些文章。 没有任何帮助
angular.module('oneApp', []).controller('OneAppController', function($scope){
//Some Logic
}).directive('dvReplaceText', ['$interval', '$compile', function($interval, $compile) {
return {
restrict: 'A',
link: function(scope, element, attr) {
scope.$watch(scope.data, function(value) {
element.html(value);
});
}
}
}]);
HTML :
<body ng-app="oneApp">
<div ng-controller="OneAppController">
<input class="input-data-box" ng-model="data" dv-replace-text=""/>
</div>
</body>
应该:
scope.$watch('data', function(value) {
...
});
您应该这样更改$ watch:
scope.$watch('data', function(value) {
element.html(value);
console.log(value);
});
这样尝试
angular.module('oneApp', []).controller('OneAppController', function($scope){ //Some Logic }).directive('dvReplaceText', ['$interval', '$compile', function($interval, $compile) { return { restrict: 'A', link: function(scope, element, attr) { scope.$watch("data", function(value) { //element.value(value); console.log(value); }); } } }]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <body ng-app="oneApp"> <div ng-controller="OneAppController"> <input class="input-data-box" ng-model="data" dv-replace-text=""/> </div> </body>
var app=angular.module('myApp', []);
app.controller('OneAppController', function($scope){
//Some Logic
console.log("data loaded");
});
app.directive('dvReplaceText', function() {
return {
link: function(scope, element, attr) {
scope.$watch(scope.data, function(value) {
element.html(value);
});
}
}
});
的HTML
<div ng-controller="OneAppController">
<input class="input-data-box" ng-model="data" dv-replace-text/>
</div>
这是工作模型JSFIDDLE LINK
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.