角度绑定指令范围动态

时间:2014-07-10 14:57:01

标签: javascript angularjs angularjs-directive angularjs-scope

如何将新范围绑定到指令?

例如,我们有产品目录,如果您点击产品 - 将显示弹出窗口。 主要部分是我不想创建100个将被隐藏的弹出窗口,并通过类似于model.id的方式打开它。

我想要做的就是点击产品拇指将一些模型绑定到弹出窗口。

<li ng-repeat="product in products">
   <button ng-click="openPopup(product)"></button>
</li>


// Some controller
... 
$scope.openPopup = function(product) {
    var popup = angular.element('<popup product="product"></popup>');

    // Of course is not working because i want to bind this `product` argument
    $compile(popup)($scope);
}

有人可以告诉我如何处理它吗? 感谢

1 个答案:

答案 0 :(得分:1)

我想在样本中我们一次只显示一个弹出窗口,弹出窗口是模态的

模板:

<li ng-repeat="product in products">
   <button ng-click="openPopup(product)"></button>
</li>

<popup ng-show="showPopup" product="selected_product"></popup>

控制器:

$scope.openPopup = function(product) {
   $scope.selected_product = product;
   $scope.showPopup = true;
}