为什么覆盖“控制器”$render `未被调用
Why overridden `controller.$render` is not getting called?
看看这个代码@plnkr.co。在directive
的link
函数中,调用了controller.$render()
,效果很好。问题是,当我覆盖controller.$render
函数时,它不会运行。console.log('overridden $render function called');
不会出现在控制台中。
script.js
为:
var app = angular.module('myApp', []);
app.directive('test', function () {
return {
require: '?ngModel',
link: function ($scope, $element, $attr, controller) {
if (!controller) {
console.log("controller of ngModel not found");
return;
} else {
console.log("controller of ngModel found");
controller.$setViewValue('qwerty');
//controller.$render();
controller.$render = function(){
console.log('overridden $render function called');
}
}
}
};
});
index.html
是:
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<meta charset="UTF-8">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js"></script>
<script src="script.js"></script>
</head>
<body>
<div>TODO write content </div>
<input test type="text" ng-model="name" >
<h1>name: {{name}}</h1>
</body>
</html>
在覆盖controller.$render()
之后立即尝试调用它:
var app = angular.module('myApp', []);
app.directive('test', function () {
return {
require: '?ngModel',
link: function ($scope, $element, $attr, controller) {
if (!controller) {
console.log("controller of ngModel not found");
return;
} else {
console.log("controller of ngModel found");
controller.$setViewValue('qwerty');
//controller.$render();
controller.$render = function(){
console.log('overridden $render function called');
}
controller.$render();
}
}
};
});
相关文章:
- 由控制器调用的服务更改时,Angular未更新视图
- 概念验证模型控制器调用正确的实例
- 角度.js - 识别通过路由或 ng 控制器调用的控制器
- 在 angularJs 中从控制器调用同时$http服务
- 从另一个控制器调用一个控制器
- 在控制台中隐藏AJAX控制器调用
- 如何从指令的控制器调用依赖注入服务的嵌套方法
- 将全局变量从控制器调用到HTML视图AngularJS
- 将数据从控制器调用到HTML视图AngularJS
- 从 AngularJS 中的父控制器调用指令的方法
- 从 Angular 控制器调用引导模式
- 从控制器调用特定指令实例的函数
- 从另一个文件 AngularJS 中的另一个控制器调用函数
- 如何在 angularjs 中从一个控制器调用另一个控制器的函数
- AngularJS + Ionic - 如何从第一个控制器调用第二个控制器上的方法
- 如何从 Angular 上的控制器调用指令的函数
- AngularJS,ng-repeat+过滤器从控制器调用
- 使用链接从不同的控制器调用操作
- Angularjs,如何从另一个控制器调用控制器
- 根据条件从 Rails 控制器调用 jQuery 函数