10

所以,我是 AngularJS 的新手,我试图在单击另一个 div 内容后更改一个 div 内容(这个包含我想要放在第一个的内容的 div)。

HTML

<div ng-controller="dCtrl">
    <ul ng-repeat="product in products">
        <li change>
            {{product.name}}
            <div class="hide">{{product.description}}</div>
        </li>
    </ul>
</div>

<div id="test"></div>

Javascript

var app = angular.module("dt", []);

app.directive("change", function() {

    return function(scope, element) {

        element.bind("click", function() {
           var message = element.children("div").text();
           console.log("breakpoint");

           angular.bind("#test", function() {
               this.text(message);
           });
        })
    }
})

app.controller("dCtrl", function($scope) {

$scope.products = [
    { "name" : "Escova XPTO", "description": "Lava tudo num instante"},
    { "name" : "Pasta de Dentes YMZ", "description": "Dentifrico do camandro"}
];

})

我知道我只能说:

$("#test").html(message);

但我仍然对混合 jQuery 和 AngularJS 感到困惑,我不知道这是否是正确的做法

谢谢

4

1 回答 1

5

设置 ng-点击:

ngClick用于做一些事情,比如你在更改指令中进行的可怕的 jQuery 风格的事情。将 ng-click 放在可点击 div 的属性中,并传入一个方法来更改 $scope 变量接受的...

ngShowngHide

当这些指令为真时,如名称所述,显示或隐藏关联的 html 对象。您可以传入 $scope 变量来确定布尔值。当 $scope 更新时,这些方法会自动更新 DOM 以显示/隐藏元素。

于 2013-04-16T20:34:18.103 回答