【发布时间】:2016-08-17 18:30:23
【问题描述】:
我正在尝试将双向数据绑定变量传递给 Angular-UI-Bootstrap Datepicker customClass。但是数据绑定在我的 customClass 函数中不起作用,它只是给了我初始化 chosenUser 变量的值。
例子:
- 我加载网站并调用 getDayClass 并使用在 chosenUser 中初始化的数据(在这种情况下未定义)
- 我从站点中选择了一个用户,双向数据绑定在其他任何地方都能正常工作,但在 getDayClass 函数中
- 所以在 getDayClass chosenUser 仍然显示为未定义,即使它不是
因此,在第一次加载 getDayClass 之后对变量所做的任何更改都不会在该函数内部传递。我只是不明白为什么它在那里不起作用。
这是我的角度控制器代码的精简版:
function CalendarController() {
var vm = this;
//THIS IS THE VARIABLE (USER OBJECT) I'M TRYING TO PASS TO getDayClass
vm.chosenUser = {};
//OPTIONS PASSED TO BOOTSTRAP DATEPICKER
vm.options = {
customClass: getDayClass
};
//THIS IS THE FUNCTION I RUN FROM HTML WITH NG-CLICK AND IT EXECUTES
//FUNCTION getDayClass (AMONG OTHER THINGS)
vm.refresh = function() {
$("#calendar").data("$uibDatepickerController").refreshView();
}
function getDayClass(data) {
var date = data.date,
mode = data.mode;
//RETURNS UNDEFINED (ONLY INSIDE THIS FUNCTION)
//EVEN AFTER USER HAS BEEN CHOSEN
console.log(vm.chosenUser);
...
};
}
【问题讨论】:
标签: angularjs angular-ui-bootstrap bootstrap-datepicker