我正在尝试在应用程序中使用AngularJS,并在某种程度上取得了成功。
我能够获取数据并将其显示给用户。我有一个按钮ng-repeat
,我想通过该按钮发布DELETE请求。下面是我的代码。
<div class="navbar-collapse collapse">
<table class="table table-striped" ng-controller="FetchViewData">
<tr>
<td>Name</td>
<td>ID</td>
<td>Department</td>
<td></td>
</tr>
<tr ng-repeat="d in viewData">
<td>{{d.EmployeeName}}</td>
<td>{{d.EmployeeID}}</td>
<td>{{d.EmployeeDepartment}}</td>
<td>
<button class="trashButton" type="button"
name="view:_id1:_id2:_id14:_id24:btnDelete"
id="view:_id1:_id2:_id14:_id24:btnDelete"
ng-click="deleteRecord('{{d['@link'].href}}')">
<img src="/trashicon.gif"></button>
</td>
</tr>
</table>
</div>
这是FetchViewData
获取信息并将其显示给用户的功能。
function FetchViewData($scope, $http) {
var test_link = "<MY LINK>";
$http.get(test_link).success( function(data) {
$scope.viewData = data;
});
}
数据已获取并正确显示。
但是,ng-click="deleteRecord('{{d['@link'].href}}')"
单击删除按钮后,不会触发其中的代码。在GoogleChrome浏览器的开发人员工具中,我可以看到为代码生成了有效值,{{d['@link'].href}}
但未deleteRecord
触发代码。从我尝试去掉花括号并只写东西,d['@link'].href
但这对我没有用。
当我更换ng-click
使用onclick
的deleteRecord
功能被炒鱿鱼。
function deleteRecord(docURL) {
console.log(docURL);
$http.delete(docURL);
}
但是,然后我收到以下错误。
Uncaught ReferenceError: $http is not defined
deleteRecord
onclick
我正在使用jQuery 1.10.2和AngularJS v1.0.8。
FetchViewData是一个控制器,在html中有ng-controller =“
FetchViewData”的位置,它告诉它在该控制器的范围内查找任何角度方法和变量。
这意味着,如果要在单击时调用方法,则该方法需要调用附加到控制器作用域的东西。
function FetchViewData($scope, $http) {
var test_link = "<MY LINK>";
$http.get(test_link).success( function(data) {
$scope.viewData = data;
});
$scope.deleteRecord = function(docURL) {
console.log(docURL);
$http.delete(docURL);
}
}
在这里,该函数存在于作用域上,并且FetchViewData Controller内的任何html都可以访问该作用域,并且您应该能够调用您的方法。
当您使用单击时,它可以正常工作,因为您的函数存在于全局名称空间中,这是单击时的外观。Angular非常依赖范围界定以保持名称空间整洁,这里有很多信息:https : //github.com/angular/angular.js/wiki/Understanding-
Scopes
问题内容: 我使用的是ng-click,将其应用于SPAN标签时会触发两次。 HTML 控制器 它应该只发射一次。我如何找到这种情况的发生原因以及如何解决? 问题答案: 您提供的代码不会两次触发该事件: http://jsfiddle.net/kNL6E/(单击) 也许您两次包含Angular?如果执行此操作,则会收到两个警报,如下所示: http://jsfiddle.net/kNL6E/1/
问题内容: 我正在尝试进行变量替换,同时也使它可以通过ngClick单击。 我做了一个小矮人演示(单击按钮,观察输入框保持不变) 标记: 角度的东西: 问题是:为什么单击按钮时不触发。应该在输入字段中设置值’foobar’。 问题答案: 同时,有一个针对该问题的官方解决方案: 无需编写自定义指令即可进行编译。 有关更多信息:https : //github.com/angular-translat
正如标题所说,我根本无法让Quartz.net工作。我从NuGet获得了最新版本的Quartz.net(2.2.1)、Common.Logging(2.1.2)、Common.Logging.NLog(2.0.0)和NLog(2.1.0)。触发器没有被触发,而且石英绝对没有记录任何东西。我猜我搞砸了配置。 我的应用程序配置: 有一个作业和一个触发器与之相关: 调度程序将启动,作业和触发器将正确添加
我们正在运行java应用程序,该应用程序用作24/7运行的监控系统。我们有一些内存问题,所以我做了一个jmap转储,我可以分析它。在我使用live flag进行第二次转储之后,GC也在应用程序中运行,它的内存使用率再次降低(该进程现在运行了6个月)。所以我的问题是,如果在jmap转储之后,它可以执行GC,那么在此期间GC为什么不由进程本身运行,进程在此之后正常运行,并且它的内存使用情况正常? Op
问题内容: 我试图设置一个监听器来确定何时按下输入按钮,但是根本没有触发。我在装有Android 4.2.2的LG Nexus 4上进行了测试。可以在具有Android 2.3的Amazon Kindle Fire上使用,并且无处可用!我也无法为按钮设置文本。这是代码: 我究竟做错了什么?我怎样才能解决这个问题? 问题答案: 您可以使用TextWatcher。
问题内容: 我正在尝试从触发元素的click事件。 通常的做法是隐藏被称为丑化的野兽,并通过其他方式触发其点击事件。 问题答案: 如果您的输入和按钮是同级(在您的情况下是OP): 使用指令将按钮的单击绑定到文件输入,如下所示: