2013-08-21 30 views
1

我用angularjs构建了一个服务,但是我使用jQuery DOM选择器从隐藏的输入中查找2个值。这听起来很奇怪,并且想知道是否有一种非jQuery方法来完成此操作。添加$范围,似乎是错误的。如何将值从隐藏的输入元素传递给角度服务?

app.factory('ignoredPropertiesService', ['$http', function ($http) { 
    var sessionId = $('input[name=SessionGuid]').val(); 
    var contactId = $('input[name=ContactId]').val(); 

    var ignoredPropertiesService = {}; 

    ignoredPropertiesService.getIgnoredProperties = function() { 
     return $http.get("/Contact/IgnoredProperties?sessionGuid=" + sessionId + "&contactId=" + contactId); 
    }; 

    ignoredPropertiesService.resfreshIgnoredProperties = function() { 
     return $http.get('/Contact/RefreshIgnoredProperties?sessionGuid=' + sessionId + '&contactId=' + contactId); 
    }; 

    return ignoredPropertiesService; 
}]); 

我应该用ng模型装饰输入吗?

谢谢 斯蒂芬

+0

是的,将ng输入放在每个输入上,您将可以在它们所属的相同范围内访问模型。 – zsong

回答

1

添加ng-model一个隐藏的输入将无法正常工作; Angular不会使用输入值更新模型。你可以试试这个:

<input type="hidden" value="{{ value }}" ng-init="value = 'foobar'"> 

你也可以写一个custom directive来做到这一点。

相关问题