簡體   English   中英

AngularJS-綁定到父級以觸發子級的角度方式

[英]AngularJS - Angular way of binding on parent to trigger child

我有以下標記:

<div class="parent">
    <div class="child">

我有兩個指令,一個是給parent ,一個是給child 現在,在parent發生事件(例如點擊)時,我希望child發生一些事情(例如獲得點擊)。

jQuery的實現方式是:

app.directive('parent', function()
{
    return {
        restrict: 'C',
        link: function(scope, element, attrs)
        {
            element.bind('click', function()
            {
                element.find('.child').click();
            });
        }
    }
}   

如果我沒有弄錯,角度的辦法是改變一個范圍parent ,和$watch在孩子吧:

app.directive('parent', function()
{
    return {
        restrict: 'C',
        link: function(scope, element, attrs)
        {
            scope.childEvent = false; 

            element.bind('click', function()
            {
                scope.childEvent = true;
            });
        }
    }
}   

app.directive('child', function()
{
    return {
        restrict: 'C',
        link: function(scope, element, attrs)
        {
            scope.$watch('childEvent', function(value)
            {
                if (value) element.click();
            })
        }
    }
}   

有人可以告訴我哪種方法更好,為什么? 第一種方法肯定較短,但似乎每個人都說Angular方法是第二種方法(因此我不使用jQuery)。 我想知道如果使用jQuery方式會出現什么問題。

我認為,第二種方法是解決問題的“有角度的方法”。 (如果您從有角度的開發人員的角度來看),這是一種無需手動操作DOM就可以解決的解決方案。 我認為這是AngularJS的主要思想:停止手動操作DOM-讓Angular為您完成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM