我的指令包含一个javascript对象。我尝试用jquery找到绑定到这个javascript对象的所有html元素。如何使用jquery获取angularjs对象的绑定数据?
上述代码可能更好地解释了我的计划。
angular.module('app').directive('highlight', [
'$rootScope', '$compile', function ($rootScope, $compile) {
return {
replace: true,
templateUrl: 'highlight.html',
link: function (scope, element, attrs) {
//this data object do we need to highlight
scope.Tohighlight;
$($.find('input, select')).each(function () {
//todo extract data if input or selection are binding data
//<input type="x" data-ng-model="data" /></span>
var data = angular.extractDataFromhtmlelement($(this));
//if html element contains our data add some css stuff
if(data == scope.Tohighlight)
{
}
});
};
}
]);
我不知道为了我的目的是否存在angularjs方法。如何获取jquery对象的绑定angularjs数据模型?感谢。
答案 0 :(得分:1)
您可以使用scope()
方法和$parse
服务来完成此操作。 Example
link: function(scope, element) {
var inputElement = element.find('input');
var inputModelGetter = $parse(inputElement.attr('ng-model'));
var inputModelSetter = inputModelGetter.assign;
function getInputModel() {
return inputModelGetter(inputElement.scope());
}
function setInputModel(value) {
inputModelSetter(inputElement.scope(), value);
}
// ...
}