Javascript 如何获得;这";来自父函数
我正在用angularjs构建一个简单的选项卡系统,但是在父函数中引用Javascript 如何获得;这";来自父函数,javascript,angularjs,Javascript,Angularjs,我正在用angularjs构建一个简单的选项卡系统,但是在父函数中引用这个时遇到了问题。我知道我可能误解了一些基本原理,所以请教育我: js: 那么:- $scope.tabs = getTab(); function getTab(){ var tab = { open: function(elem) { $scope.tabsOpen = true; if(elem) $scope[
这个
时遇到了问题。我知道我可能误解了一些基本原理,所以请教育我:
js:
那么:-
$scope.tabs = getTab();
function getTab(){
var tab = {
open: function(elem) {
$scope.tabsOpen = true;
if(elem)
$scope[elem] = true;
},
close: function() {
$scope.tabsOpen = false;
},
about: {
open: function() {
$scope.aboutOpen = true;
tab.notification.close(); // Should work
},
close: function() {
$scope.aboutOpen = false;
}
},
notification: {
open: function() {/*etc*/},
close: function() {/*etc*/}
},
message: {
open: function() {/*etc*/},
close: function() {/*etc*/}
},
}
return tab ;
}
这样,您就不必依赖于执行上下文(而不是定义它的位置)所决定的
上下文。在这里,您只是在调用函数getTab
时使用在本地作用域中创建的本地选项卡
对象,而不是执行\u this.notification.close()代码>您只需执行tab.notification.close()
,其中选项卡
实际上就是您在那里寻找的此
谢谢,这很有道理!
$scope.tabs = getTab();
function getTab(){
var tab = {
open: function(elem) {
$scope.tabsOpen = true;
if(elem)
$scope[elem] = true;
},
close: function() {
$scope.tabsOpen = false;
},
about: {
open: function() {
$scope.aboutOpen = true;
tab.notification.close(); // Should work
},
close: function() {
$scope.aboutOpen = false;
}
},
notification: {
open: function() {/*etc*/},
close: function() {/*etc*/}
},
message: {
open: function() {/*etc*/},
close: function() {/*etc*/}
},
}
return tab ;
}