在控制器中获取对象
Get object in controler
我需要通过在控制器内点击ng来获取元素的jQuery来获取DOM对象。
HTML
<ul>
<li ng-repeat="data in list">
<span ng-click="editMode(this, data.id)">edit</span>
</li>
</ul>
控制器
$scope.editMode = function(obj, id) {
$(obj).hide(); //do not use jQuery hide() in angular! I's just a test!
}
变量obj有一个元素,但我无法使用它。如果我尝试$(obj).hide()什么也没发生。
编辑:这不是在Angular中隐藏元素的正确方法!这只是一个例子!使用ng隐藏元素。
正如我在评论中所说,您应该有一个支持数据模型,并在您的angular html中声明反应。
下面是小提琴的例子:
http://jsfiddle.net/mVCkY/
<li ng-repeat="data in list">
<span ng-click="editMode(data)" ng-hide="data.isInEditMode">edit</span>
</li>
function DataCtrl($scope) {
$scope.list = [{}, {}, {}];
$scope.editMode = function(obj) {
obj.isInEditMode = true;
};
};
在您的示例中,this
指的是当前角度$scope
实例,而不是元素。获取元素的最简单方法是通过事件对象:
<span ng-click="editMode($event, data.id)">edit</span>
然后在处理程序中,您可以访问目标元素:
$scope.editMode = function(e, id) {
$(e.target).hide();
};
注意:这不是Angular的良好做法。假设您的editMode
函数只隐藏一个元素,那么您可以使用问题注释中提到的ng-hide
或ng-show
指令来实现它。
相关文章:
- 在node.js中使用JavaScript从JSON对象获取和设置文本内容
- 如何在JavaScript中基于事件对象获取文件名
- 使用Lodash从JSON对象获取特定于环境的配置
- 从每个父对象获取attr,并为每个子对象设置attr
- 使用javascript从json对象获取父名称
- 从express请求对象获取客户端MAC地址
- 正在从JSON对象获取数组
- 使用生成的键从对象获取数据
- 如何在 C# 中从 JavaScript 对象获取值
- JavaScript |对象:获取属性忍者移动
- 从 CasperJS 中的嵌套 JavaScript 对象获取值
- 从 JSON 对象获取数据时出现问题
- Angularjs 从范围对象获取值
- 以点表示法计算字符串,以从视图中的对象获取相应的值
- 如何测试从promise对象获取数据的控制器
- Javascript-在for循环上从var中的对象获取适当性
- 在javascript中从json对象获取数据
- 如何从每个对象获取jQuery的“title”和“url”值
- 从react routers browserHistory对象获取当前页面路径
- 从Javascript对象获取CSV值