您好我是AngularJs以及HTML,Javascript和CSS的新手,所以请尝试解释您对dummys的答案。
因此,由于某种原因,函数“updateFilterTerm”不会被调用。变量“filterTerm”始终与初始化相同。
就像你在代码中看到的那样,调用该函数的页面是另一个页面,它在变量“filterTerm”的帮助下显示内容,但是它们具有相同的控制器“BatchMonitorCtrl”。
我做错了什么或者你可以指导我解决这个问题吗?
这是我的Controller.js的一部分:
cell.empPhoto.sd_setImageWithURL(self.imageURL)
这是我的bm.html的一部分:
...
function BatchMonitorCtrl($scope, Batchmonitor, BatchmonitorConfig, ConfigService, $localStorage, $timeout, flash, $routeParams) {
$scope.filterTerm = '2312ab78-1e3c-48c5-82af-e38b42d704eb';
$scope.updateFilterTerm = function(filterTerm) {
$scope.filterTerm = filterTerm;
};
}
...
这是我的dc.html的一部分,我使用“filterTerm”来过滤批次:
...
<span ng-switch-default
class="label label-primary {{types[charge.Type].CSS}}"
style="cursor:pointer;padding:8px;"
onclick="$(this).popover('toggle')"
data-html='true'
data-toggle="popover"
data-trigger="manual"
data-placement="top"
title="{{"common.BatchStatus-OK"|i18n}}"
data-content="Type: {{charge.Type}}<br />LogicalId: {{charge.LogicalId}}<br />Nest: {{charge.Nests}}<br />SetupDate: {{ charge.SetupDateObject | date:'yyyy-MM-dd HH:mm:ss' }}<br/>Updated: {{ charge.Updated['$date'] | date: 'yyyy-MM-dd HH:mm:ss' }}
<br/><br/><a href='#/delete-charge' class='btn btn-primary btn-block' ng-click='updateFilterTerm({{charge._id}})'><span>{{"common.Delete-Charge"|i18n}}</span></a>">
<h5><strong>{{charge.LogicalId}}</strong></h5>
</span>
...
答案 0 :(得分:0)
我不确定,但我认为它与范围继承有关。 尝试使用controllerAs语法或其他点访问技术:
| filter : obj.filterTerm;
function setFilter(term){
$scope.obj.filterTerm = term;
}
答案 1 :(得分:0)
我想我对自己的问题有了答案。
由于我在两个部分(页面)上都有相同的控制器,因此它们都有自己的控制器实例。因此,即使调用该函数,下一页也不会有上一页的信息。所以我需要找到另一个解决方案。
答案 2 :(得分:0)
在您的Html视图中,请使用此
<script type="text/javascript">
function functiontocallcontrollermethod()
{
$.ajax({
type: 'POST',
url: '/Poll/Mymethod',
data: { voteid: $("#voteDemocrat").val() }
});
</script>
在您的控制器中
[HttpPost]
[WebMethod]
public void Mymethod(int voteid)
{
/// WORK HERE
}
最后,WebMethod命名空间是
使用System.Web.Services;