作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 https://github.com/mgonto/angular-wizard创建一个 Angular 向导,其步骤可以从路由参数中调用:
.controller('createOrganizer', ['$scope', 'WizardHandler' , '$routeParams',
function($scope,WizardHandler,$routeParams)
{
//$scope.data = {};
$step = $routeParams.step;
WizardHandler.wizard().goTo($step);
}])
TypeError: Cannot call method 'goTo' of undefined
$scope.$watch(WizardHandler.wizard(), function(step) {
WizardHandler.wizard().goTo($step);
});
}])
var step = parseInt($routeParams.step); // Important, as routeParams returns an String: the wizardHandler uses either an integer number or a string name of step. So I am parsing the number to prevent confusion.
$scope.$watch(
function() {return WizardHandler.wizard();},
function (wizard) {
if (wizard) wizard.goTo(step);
});
最佳答案
通过快速阅读源代码,我的第一个猜测是您使用了 <wizard>
带有 name
的元素指定了属性,但您尚未将相同的名称传递给 WizardHandler.wizard()
.在代码中,如果您没有为 WizardHandler.wizard()
指定名称参数,它将使用默认名称,即 <wizard>
使用的名称没有name
属性。
由于您在调用 WizardHandler.wizard()
时没有取回您想要的向导。 ,它解析为 undefined
并调用 goTo()
将因您收到的错误而失败。
至少,将获取向导和.goTo()
分开。调用以添加 checkin 以确保您获得有效的向导:
.controller('createOrganizer', ['$scope', 'WizardHandler' , '$routeParams',
function($scope,WizardHandler,$routeParams)
{
//$scope.data = {};
$step = $routeParams.step;
var wizard = WizardHandler.wizard();
if (wizard)
wizard.goTo($step);
}]);
var
之前的关键字
$step
赋值也是如此,按照惯例,只有 Angular 核心的东西应该以
$
开头,或 jQuery 选择变量。
$watch()
在加载向导时得到通知,但不能保证
$digest()
加载向导后将立即调用循环,因此您将依赖于假设 $apply/$digest 循环在向导正确添加到
WizardHandler
之后的某个时间运行。的缓存。
.controller('createOrganizer', ['$scope', 'WizardHandler' , '$routeParams',
function($scope,WizardHandler,$routeParams)
{
//$scope.data = {};
$step = $routeParams.step;
$scope.$watch(function() {
return WizardHandler.wizard();
}, function (wizard) {
if (wizard)
wizard.goTo($step);
});
}]);
关于angularjs - WizardHandler.wizard().goTo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22028667/
我正在使用 https://github.com/mgonto/angular-wizard创建一个 Angular 向导,其步骤可以从路由参数中调用: .../step/1 .../step/2 等
我是一名优秀的程序员,十分优秀!