gpt4 book ai didi

javascript - AngularJS 在这种情况下有什么简短的方法来调用父作用域吗?

转载 作者:行者123 更新时间:2023-11-28 19:16:17 24 4
gpt4 key购买 nike

在这种情况下(在 Controller 中)有什么简短的方法可以调用父作用域吗?

$scope.tables = [];
$scope.newTable = function(){
$scope.tables.push({name:"Table " + ($scope.tables.length+1),cols:[]});
$scope.selected = $scope.tables.length-1;
};

当有任何捷径可以忽略 $scope.newTable 中的 $scope 时,应该缩短此代码。也许我不知道

最佳答案

是的,您可以在 Controller 中定义一个对象,稍后您将向作用域公开该对象。像这样的东西:

var tableHandler = {
selected: 0,
list: [],
newTable: newTable
};

function newTable()
{
var tableLength = tableHander.list.length;
var emptyTable = {name: "Table " + (tableLength + 1), cols: []};
tableHander.list.push(emptyTable);
tableHandler.selected = tableLength;
}
;

$scope.tableHandler = tableHandler;

然后在你的html中

<button ng-click="tableHandler.newTable()"></button>

重复和选择支持的另一个示例:

<ul>
<li ng-repeat="table in tableHandler.list" track by $index"
ng-class="{selected: tableHandler.selected === $index}">
{{table.name}}
</li>
</ul>

关于javascript - AngularJS 在这种情况下有什么简短的方法来调用父作用域吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29742388/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com