嗨我對AngularJs和HTML,Javascript和CSS非常新,所以請嘗試解釋你的答案dummys。如何從html調用控制器函數?
因此,出於某種原因,函數「updateFilterTerm」不會被調用。變量「filterTerm」始終保持與初始化相同。
就像您在代碼中看到的那樣,調用該函數的頁面是另一個像使用變量「filterTerm」幫助顯示內容的頁面,但它們具有相同的控制器「BatchMonitorCtrl」。
我做錯了什麼,或者你能指導我解決這個問題嗎?
這裏是我的Controller.js的一部分:
...
function BatchMonitorCtrl($scope, Batchmonitor, BatchmonitorConfig, ConfigService, $localStorage, $timeout, flash, $routeParams) {
$scope.filterTerm = '2312ab78-1e3c-48c5-82af-e38b42d704eb';
$scope.updateFilterTerm = function(filterTerm) {
$scope.filterTerm = filterTerm;
};
}
...
這裏是我的bm.html的一部分:
...
<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>
...
這裏是我的dc.html的一部分,我用「 filterTerm「來過濾批次:
...
<tr ng-repeat="batch in allBatches | orderBy: 'Sort' | filter: filterTerm">
...
只是要清楚。具有變量「filterTerm」的過濾器起作用。問題是函數沒有設置「$ scope.filterTerm = filterTerm;」。 – IAmRoot
也許「數據內容」中的語法錯誤?由於字符串,我不確定它是否得到正確解決在這一點上: data-content =「... ng-click ='updateFilterTerm({{charge._id}})'...」 – IAmRoot