2015-04-06 63 views

回答

1

嗯,你有幾個問題。首先,我將data更改爲一個對象,並將布爾值作爲屬性,而不是將其本身設爲布爾值。如果您想使用服務共享信息,這是一個很好的做法。最好共享一個對象,以便不同的控制器共享相同的參考。基元對於這種情況是有問題的。因此,這裏的新服務:

app.service('testservice', function(){ 

    var data={}; //Changed here 


    getDataText = function() { 
    return data; 
    }; 

    setDataText= function(val) { 
    data.text = val; //And changed here 
    return data; 
    }; 

    return { 
    getDataText: getDataText, 
    setDataText: setDataText 

    }; 

}); 

另一個問題是,你叫錯功能控制器,它應該是getDataText()

$scope.inputText = testservice.getDataText(); 

最後,你忘了關click元素的divs,所以點擊2事件冒泡到點擊1事件,因此在隱藏後立即顯示,因此用這個替換第二控制器div:

<div ng-controller="secondController"> 

    <div ng-click="showDiv();"><a href="#">click1</a></div> 
     <br/> 
     <br/> 
    <div ng-click="hideDiv();"><a href="#">click2</a></div> 
    </div> 
    </div>