Javascript 检索某些AngularJS对象值

Javascript 检索某些AngularJS对象值,javascript,angularjs,Javascript,Angularjs,我是新来的AngularJS,假设我有 <ul> <li ng-repeat="todo in todos"> <span> ...</span> ... 如果每个todo都是某个对象,我们可以说{“title”:“some title”,“description”:“some description”}。现在,当span标记中发生更改事件时,我想检索此todo的整个值。如果太简单,请提前道歉…最简单、最直接的方法是:

我是新来的
AngularJS
,假设我有

<ul>
  <li ng-repeat="todo in todos">
     <span> ...</span>
  • ...

如果每个
todo
都是某个对象,我们可以说{“title”:“some title”,“description”:“some description”}。现在,当
span
标记中发生更改事件时,我想检索此
todo
的整个值。如果太简单,请提前道歉…

最简单、最直接的方法是:

    <ul>
      <li ng-repeat="todo in todos">
         <span>{{todo.title}}</span>
         <span>{{todo.description}}</span>
         <input type="text" ng-model="todo" />
  • {{todo.title} {{todo.description}}

请注意,我添加了一个输入文本字段只是为了展示,当您将对象指定给指令的属性时,您不会用双花括号将角度对象包围起来。

如果跨度导致了事件,您可以这样做

<ul>
    <li ng-repeat="todo in todos">
        <span ng-click="doSomething(todo)"> ...</span>
  • ...
只要作用域(对象)发生更改,就可以始终使用并注册要执行的侦听器回调

例如:

html:


实例:

如果你想对对象进行更改,最好使用输入元素而不是span标记,有一条指令会在用户更改内容时触发更改,请参阅此命令

你能更准确地说,你想在“todo”对象更改时收到通知吗?@AlexChoroshin。我已经编辑了我的帖子。事实上,我想检索整个
todo
object@user1611830我们谈论的是什么样的变化,比如输入变化?或者别的什么?不是真的,事实上我使用了一些查询插件,可以动态创建一些div,这些div的内容将更新todo的div。我不想点击任何东西。更具体地说,这个问题。什么是“某些更改事件发生了”?我只想做最简单的事情,返回我编辑的帖子中的todo对象值。事实上,我想要检索整个todo对象的值,而这并不是我想要找到的。事实上,我使用了一些查询插件,可以动态创建一些div,其内容将更新todo的div。我想要一种获取整个todo对象的方法。我不想对
todo
值做任何更改,我只想获取
todo
的值,我相信他想要监听todo数组中的任何更改。请检查我的答案。@user1611830何时获取todo值?
<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>
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);

 }