为什么使用ngRepeat中的ngClick进行值赋值不会起作用

时间:2015-09-28 06:23:34

标签: angularjs

<ul>
    <li  ng-repeat="val in [1,2,3]">
    <button ng-click="dummy = '{{val}}'">{{val}}</button>
    </li>
</ul>
<div>Value : {{dummy}}</div>

我试图在单击按钮时指定一个值,但它不起作用。

3 个答案:

答案 0 :(得分:4)

ng-repeat创建自己的范围。由于该按钮位于ng-repeat,因此它具有单独的范围,无法访问dummy值。为了防止这种情况,您需要use a dot in your ng-model

以下是您的代码,已更正:http://jsfiddle.net/844k52bh/

答案 1 :(得分:1)

http://jsfiddle.net/sg39rypn/

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {

    $scope.changeDummyVal=function(val){
        $scope.dummy=val;
    }
});

你可以为它做功能

答案 2 :(得分:0)

你只需要这样做:

ng-click="dummy = val "

<ul>
<li  ng-repeat="val in [1,2,3]">
<button ng-click="dummy = val ">{{val}}</button>
</li>
</ul>
<div>Value : {{dummy}}</div>