【发布时间】:2015-07-21 02:51:18
【问题描述】:
我知道我缺少一些基本的东西。如何从startup 方法(注释行)内部调用checkValue 方法?这些都包含在 MVC 框架和自定义 API 的视图中。
基本上,当startup 运行时,我希望alert() 触发。
define(function(require) {
'use strict';
var Class = require('common/Class'),
ModuleView = require('common/platform/ModuleView');
var value = 0;
return Class.create(
ModuleView,
{
startup : function() {
value = 1;
//invoke checkValue(value) somehow... this.checkValue(value)?
},
checkValue: function(value) {
if (value >= 1) {
alert("Hello.");
}
}
}
);
});
【问题讨论】:
-
哈哈,是的,在你尝试之前永远不知道。调试它,检查“startup”中的“this”,看看它是窗口还是具有“checkValue”函数的对象,或者它是否是可以让你使用该函数访问对象的其他东西。跨度>
-
@JohnnyFun 好主意,但真正的问题:我将如何调试
this并查看其范围? -
看起来下面的答案可能是你的票。但是,了解 js 调试技术让自己摆脱困境是件好事,因此请熟悉 Chrome 的开发工具。假设您正在使用 chrome 查看页面,请按 F12。然后按 ctrl + p 并找到您的脚本。在那里,您可以通过单击右侧的行号在“启动”函数中放置一个断点。然后重新加载页面,chrome 将为您命中该断点。当你在断点上时,你可以点击控制台选项卡并写“this”+回车,看看它包含什么秘密......
-
@JohnnyFun 谢谢,这很有教育意义!
标签: javascript model-view-controller methods view