Angularjs 将范围属性绑定到选项卡标题

Angularjs 将范围属性绑定到选项卡标题,angularjs,Angularjs,我是angularJS的新手,我在范围的绑定属性方面遇到了问题,所以双向绑定可以正常工作。我正在使用示例代码生成选项卡 <div ng-app="SampleApp"> <div id="tabs" ng-controller="GridController as gridcon"> <ul> <li ng-repeat="tab in tabs" ng-class="{ac

我是angularJS的新手,我在范围的绑定属性方面遇到了问题,所以双向绑定可以正常工作。我正在使用示例代码生成选项卡

<div ng-app="SampleApp">
    <div id="tabs" ng-controller="GridController as gridcon">
        <ul>
            <li ng-repeat="tab in tabs"
                ng-class="{active:isActiveTab(tab.url)}"
                ng-click="onClickTab(tab)">{{tab.title}}</li>
        </ul>
        <div id="mainView">
            <div ng-include="currentTab"></div>
        </div>
        <input type="button" ng-click="changedata()" value="Check" />
    </div>
</div>

现在,当您第一次加载页面时,这可以正常工作。现在单击一个按钮(“检查”按钮),我正在修改数组。我应该怎么做才能使选项卡标题始终与数组的长度同步?我尝试过可观察对象,但除非我在视图中使用绑定,否则它们只会通知事件。除了处理可观察数组的更改事件之外,没有其他方法了吗?

您可以在$scope.changedata函数中复制这段代码

 $scope.tabs = [{
            title: 'Issue List (0)'.replace("0", $scope.data1.length),
            url: 'tab1.html'
        }, {
            title: 'Corrected (0)'.replace("0", $scope.data2.length),
            url: 'tab2.html'
        }];

此外,它还保留在外部。

如果我需要自己修改值,数据绑定有什么用?请理解,您尚未将数据绑定到视图上。您只是在使用JS修改一个值。实际上,我已经准备好修改我的视图使其绑定。有什么建议吗?然后您可以向选项卡添加一个属性,如ng click=“onClickTab(tab)”>{{tab.title}}({{tab.dataLength}})您必须在changedata函数中更新dataLength属性。并停止像当前一样替换字符串。这有帮助吗?是的,让我试试这个,完成后我会给你更新。(谢谢你的帮助)
 $scope.tabs = [{
            title: 'Issue List (0)'.replace("0", $scope.data1.length),
            url: 'tab1.html'
        }, {
            title: 'Corrected (0)'.replace("0", $scope.data2.length),
            url: 'tab2.html'
        }];