我创建了一个指令,我在我的模板中使用:
<data-input> </data-input>
在我的指令(dataInput)中,我有模板(... data-input.html)。 在该模板中,html代码表示:
<input ng-change="dataChanged()" ... > ...
在JavaScript中说:
scope.dataChanged= function(){ //change the data }
完美运行,但知道我需要将已更改的数据保存到我的控制器中的变量(当然具有不同的范围)。
模板,我将<data-input> </data-input>
放在最终范围内,我试图达到。
我通过参数尝试了它,但它没有用。 感谢
答案 0 :(得分:0)
以下是您的选择:
如果可能,您可以嵌套控制器。这将创建范围继承,您将能够共享父级的变量。
您可以使用两个控制器中的$rootscope
来共享数据。您的dataChanged
功能可以将任何内容保存到$rootscope
您可以使用angular.element
来获取任何元素的范围。 angular.element('data-input').scope()
返回它的应对。
不建议这样做。但是在某些情况下,人们使用全局空间在角度和非角度代码之间进行通信。但我不认为这是你的情况。
答案 1 :(得分:-1)
您可以使用Angular Watches查看更改是一些变量,例如
例如:
$scope.$watch('age + name', function () {
//called when variables 'name' or 'age' changed
//Or you can use just 'age'
});