在我的控制器中,我正在使用它来打开我的Kendo UI Core窗口:
$scope.winQuestion.setOptions($scope.DlgOptions);
$scope.winQuestion.open();
这是我的html中的代码:
div kendo-window="winQuestion" k-title="'Question 1'" k-position="{ top: 60, left: 100 }"
k-width="730" k-height="300" k-visible="false"
k-content="{ url: 'questions.html' }"
k-on-open="winQuestion = true" k-on-close="winQuestion = false" style="background-color:#ffffff;"></div>
现在在questions.html里面我有一个按钮,我尝试在另一个处理取消点击的函数内的同一个控制器中触发它:
$scope.winQuestion.close();
在我搜索StackOverflow上的答案时,这个调用只能返回:
TypeError:$ scope.winQuestion.close不是函数
我怀疑它是一个范围问题但不确定为什么因为我进入了
$scope.closeWindow = function(){
$scope.winQuestion.close();
};
抱歉,我没有这方面的傻瓜,但无法让kendo核心ui在那里工作,只在本地工作。
答案 0 :(得分:1)
我没有对它进行过测试,但是从true/false
和k-on-open
事件中的k-on-close
覆盖窗口变量看起来如此。
当您使用$scope.winQuestion.open();
打开窗口时,on-open
事件将设置为$scope.winQuestion = true;
。
因此,$scope.winQuestion
上的所有后续方法调用不再在该窗口的引用上进行,而是在布尔值上进行(而不是实现open()
函数)