获取一些AngularJS对象的值
retrieving some AngularJS object value
我是新来的AngularJS
,假设我有
<ul>
<li ng-repeat="todo in todos">
<span> ...</span>
其中每个todo
是某个对象,我们设{"title": "some title", "description":"some description"}。我现在想检索这个todo
的整个值,当一些变化事件发生在span
标签内。
如果span引起了事件,您可以这样做…
<ul>
<li ng-repeat="todo in todos">
<span ng-click="doSomething(todo)"> ...</span>
你总是可以使用$watch并注册一个监听器回调,以便在你的范围(对象)发生变化时执行。
的例子:html:
<div ng-app="App" ng-controller="ctrl">
<div>
<ul>
<li ng-repeat="todo in todos">
<span><input type="text" ng-model="todo.title">{{todo.title}}</span>
</li>
<ui>
my event : {{myEvent}}
</div>
js:
var app=angular.module('App', []);
function ctrl($scope) {
$scope.myEvent="";
$scope.todos = [
{"title": "some title1", "description":"some description1"},
{"title": "some title2", "description":"some description2"},
{"title": "some title3", "description":"some description3"}
]
$scope.$watch('todos', function (newVal) {
$scope.myEvent=newVal;
}, true);
}
实例:http://jsfiddle.net/choroshin/vLJ92/
如果你想对对象进行更改,最好使用input元素而不是span标签,有指令'ng-change',它将在用户更改内容时触发更改,参见此plunker http://plnkr.co/edit/HQgGB1HRAjUE7EVxiJZ5?p=preview
最简单、最直接的方法是:
<ul>
<li ng-repeat="todo in todos">
<span>{{todo.title}}</span>
<span>{{todo.description}}</span>
<input type="text" ng-model="todo" />
请注意,我添加了一个输入文本字段,只是为了展示当你将对象分配给指令的属性时,你不会用双花括号把你的角形对象括起来。
相关文章:
- AngularJs指令,该指令创建内部有数据对象的新指令
- AngularJS&JSON-从Previous&下一个对象
- 遍历AngularJs中的对象
- Angularjs:空对象,当只有一次点击时
- Javascript/AngularJs-如何用另一个数组中的对象填充数组
- AngularJS:如何用同一对象的另一个属性访问一个属性
- 在禁用ng的情况下搜索JSON对象(AngularJS)
- 将数据推送到对象angularjs
- 将第二个或多个数组推送到数组对象 AngularJS 中
- 用于对象AngularJs中包含的所有字段和数组的deepCopy
- 对于返回 1 个对象 Angularjs
- 使用内部数组遍历数组并创建新对象 - AngularJS
- 向json对象angularjs添加一个数组
- 如何删除数组中使用过滤器的对象?AngularJS
- 如何将密钥分配给对象Angularjs
- 将数据推送到对象AngularJS中
- 在导入的JSON对象AngularJS中获取一个数组
- 返回$rootScope函数中的对象(AngularJS)
- 如何遍历这个 Json 对象(angularJS)
- 按属性排序数组中的javascript对象(angularjs过滤器)