使用数字设置bsActivePane时,s.assign不是函数

时间:2015-04-21 15:11:19

标签: angularjs tabs angular-strap

我正在尝试以编程方式将一对选项卡的活动窗格设置为界面的一部分。当我使用数字设置它时,这看起来是查看文档的正确方法,我得到以下错误。

Error: s.assign is not a function
.link/<@http://cdnjs.cloudflare.com/ajax/libs/angular-strap/2.1.6/angular-strap.min.js:9:13383

该文件的未压缩版本中只有一个.assign调用,位于line 3280。看看那一行,除非$parse正在做一些非常聪明的事情,看来我试图在一个数字上调用.assign,我认为这是错误的。

我做错了什么?有没有快速解决方法(假设这是一个半复杂的问题)?

示例HTML

<div class="full-height" data-fade="1" data-bs-tabs="" data-bs-active-pane="{{ controller.getActiveTab() }}">
    <div data-title="Tab 1" data-bs-pane="">
        <!-- Injected content of tab 1 -->
    </div>
    <div class="full-height" data-title="Tab 2" data-bs-pane="">
        <!-- Injected content of tab 2 -->
    </div>
</div>

1 个答案:

答案 0 :(得分:1)

我认为您不能使用属性助手的函数或固定值,因为指令会在用户更改选项卡时尝试更新值。
如果用变量替换函数,代码将起作用。

<强> HTML

<div class="full-height" data-fade="1" data-bs-tabs="" data-bs-active-pane="activePanel">
    <div data-title="Tab 1" data-bs-pane="">
        <!-- Injected content of tab 1 -->
    </div>
    <div class="full-height" data-title="Tab 2" data-bs-pane="">
        <!-- Injected content of tab 2 -->
    </div>
</div>

<强> JS

$scope.activePanel = 1; // This is the initial active panel.

DEMO