指令中的指令-手表不工作
Directive in Directive - watch not working
花了很多小时,尝试了几乎所有的东西,但都不起作用。。
我有一个角度指令,可以调用另一个角度指示。。我需要处理子指令中的事件。所以我的孩子指令看起来像:
restrict: 'E',
replace: true,
scope: {
testResult: "=",
在父指令中,我有:
<my-search-directive test-result="newTest"></my-search-directive>
为了处理testResult中的更改,在父指令中我有这样的监视:
$scope.$watch('newTest', function (newVal, oldVal) {
alert('test ' + newVal + ' ' + oldVal);
}, true);
它在开头只触发一次,newVal和oldVal未定义。。如果我有服务而不是"master"指令,它就可以工作(我正在传递parentScope并将其用于监视)
一开始,newTest是返回复杂的对象,我认为这可能是问题所在,但事实并非如此,因为它现在也可以处理简单的字符串。
尝试使用watchcollection,但它也不起作用。。我需要这个场景,使用指令的指令,我可以弄清楚它是如何工作的?
EDIT 1 :
myApp.directive('parentDirective', [
"$log", function ($log) {
return {
scope: {
getQueriesUrl: "=",
isFullyQualified: "=",
isMainTabs: "=",
model: "=",
crudUrls: "=",
callBackFunction: "&",
callback: "&",
newTestResult: "@"
},
restrict: 'A',
replace: true,
controller: function ($scope)
{
myActions.push('<div><my-search-directive test-result="newTestResult"></my-search-directive></div>');
}
这是我的"父指令",所以我需要跟踪测试结果的变化。作为@Walfrat mantion,我添加了newTestResult变量,但仍然不起作用。。
首先,您没有在指令中使用指令。
您在这里使用的是具有双向绑定的指令。
由于您的作用域绑定到数据,因此您应该观察scope{}
块中定义的testResult
。如果$watch不起作用,请尝试watchCollection,您应该会没事的。
相关文章:
- JavaScript指令不能像我想象的那样工作
- 无法使以下ng on click outside指令在同一页面上的两个元素上工作
- AngularJS指令意外地协同工作
- 角度控制器功能赢得'不按指令工作
- 角度指令中的模糊无法正常工作
- 带有Angular指令的HTML;附加时无法工作
- 角度控制器功能不;在指令内部调用时,似乎无法始终如一地工作
- 如何使Angular JS控制器与指令一起工作
- AngularJS Dropdown在使用指令后不再工作
- 使用 Angular 和 UI-bootstrap 对模态事件绑定无法工作的指令
- 角度指令和属性Don'在控制器内创建和设置时无法工作
- 指令中的指令-手表不工作
- 超链接;编译angular指令内的模板后无法工作
- 如何让ng repeat在指令模板中工作
- AngularJS:指令没有启动或工作
- $render在角度1.2.2停止工作(文件验证指令)
- 部分html视图's控制器未使用KendoPanelBar内容URL在指令模板URL中工作
- 角度控制器的作用是什么;t控制器'他的工作由指令来完成
- Typescript$inject$timeout到指令中..在控制器中工作,而不是在链接中
- 棱角分明,难以让指令工作