如何绑定到通过模板系统创建的元素

时间:2016-02-01 07:37:26

标签: javascript angularjs

我使用像把手一样的模板处理器来构建我的模板。从最近我开始使用angularjs来处理一些JS的东西,并希望将角度模型绑定到我创建的一些元素上。你必须把它想象成一个想法列表,其中每个想法都有一个用于向上或向下投票的按钮。单击按钮将触发对服务器的ajax请求。我不知道在这种情况下我不知道如何命名我的模型,或者一般来说关于绑定,因为每个想法都有一个唯一的ID。

我想要实现的是根据服务器回复增加/减少支持者的数量。

目前我没有使用ng-repeat来构建列表,因为我想保留模板系统中使用的当前逻辑。

这里有一些代码:

控制器:

app.controller('MainController', function($scope) {
    $scope.vote = function(ideaid, vote) {
        $http.get('/' + ideaid + '/vote/' + vote)
            .then(function(result) {
                // How do I bind to the appropriate element at this point?
            });
    }
}

模板:

<div class="idea" id="idea123">
    <div class="headline">
        Lorem ipsum dolor sit amet, consectetur adipisicing elit. Saepe suscipit dolore vitae nostrum praesentium consequatur.
    </div>
    <div class="controls">
        <div class="vote-up">
            <button class="vote-button up" ng-click="vote(123, 1)"></button>
        </div>
        <div class="vote-down">
            <button class="vote-button down" ng-click="vote(123, 0)"></button>
        </div>
    </div>
    <div class="vote-details">
        12 people support this idea
    </div>
</div>

有办法做到这一点吗?如果不是首选的方式?

1 个答案:

答案 0 :(得分:0)

你应该定义一个范围变量,比如$ scope.number,并在ajax回调中更新这个数字。