Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angularjs范围更新问题_Javascript_Angularjs_Angularjs Scope - Fatal编程技术网

Javascript Angularjs范围更新问题

Javascript Angularjs范围更新问题,javascript,angularjs,angularjs-scope,Javascript,Angularjs,Angularjs Scope,我对angularjs是新手。面对这样的问题 我的标记类似于: <div class="data-list"> <ul ng-repeat="client in clients | orderBy:orderProp | filter:query"> <li><a ng-click="update(client)" data={{client.id}} href="#">{{client.name}}</a>&

我对angularjs是新手。面对这样的问题 我的标记类似于:

<div class="data-list">
    <ul ng-repeat="client in clients | orderBy:orderProp | filter:query">
        <li><a ng-click="update(client)"  data={{client.id}} href="#">{{client.name}}</a></li>
    </ul>
</div>
<div class="clientId">
    {{clientId}}
</div>
我希望当用户单击“Client Name”时,
{{{clientId}}
将被更新,但作用域会自行更新它。并返回
{}
(空白对象)

单击clientName后如何获取{{clientId}}


提前感谢。

您的控制器没有任何类似于
clientId
的属性,并且您的
ng repeat
仅适用于
标记

改变

<div class="clientId">
   {{clientID}}
</div>

{clientID}


{{activeClient}}

您必须将
{{{clientId}}
替换为
{activeClient.id}

我根据你的代码做了一个简单的例子

HTML

<div ng-app="myApp">
    <div ng-controller="ClientListCtrl">
        <ul ng-repeat="client in clients">
            <li><a ng-click="update(client)" href="#">{{client.name}}</a></li>
        </ul>
        <div class="clientId"><br/>
            Client id: {{activeClient.id}}
        </div>
    </div>
</div> 

请参阅jsfiddle

嘿,谢谢您的jsfiddle,但在我的代码中,它并没有编写出来。我的标记就像我的js是你的标记(我只添加了ng app div)。它很好用。检查js或将其粘贴到JSFIDLE中进行查看
<div class="clientId">
   {{activeClient}}
</div>
<div ng-app="myApp">
    <div ng-controller="ClientListCtrl">
        <ul ng-repeat="client in clients">
            <li><a ng-click="update(client)" href="#">{{client.name}}</a></li>
        </ul>
        <div class="clientId"><br/>
            Client id: {{activeClient.id}}
        </div>
    </div>
</div> 
var myApp = angular.module('myApp',[]);

function ClientListCtrl($scope, $http) {
    $scope.clients = [
        {"id":1, "name": "client1"},
        {"id":2, "name": "client2"},
        {"id":3, "name": "client3"},
        {"id":4, "name": "client4"},
        {"id":5, "name": "client5"},
        {"id":6, "name": "client6"}
    ];

    $scope.activeClient = {};
    $scope.update = function(selectedClient) {
        $scope.activeClient = angular.copy(selectedClient);
    }
}