无法从angularjs调用JavaScript原型函数
Unable to call JavaScript prototype function from angularjs
我正试图通过点击超链接来调用一个JavaScript原型函数,如下所示。但我无法在点击链接时启动getInfo()
功能。我是错过了什么基础知识还是做错了什么?
这是我的JS:
$(document).ready(function () {
function Apple() {
this.type = "fff";
this.color = "red";
}
Apple.prototype.getInfo = function () {
alert( this.color + ' ' + this.type + ' apple');
};
var appl = new Apple();
});
这是我的html:
<a href="" ng-click="appl.getInfo()">click</a>
查看您的上述代码,我相信问题在于您没有将appl
暴露给您的via(通过$scope
)。你需要做一些更像这样的事情:
var MyController = function($scope) {
function Apple() {
this.type = "fff";
this.color = "red";
};
Apple.prototype.getInfo = function () {
alert( this.color + ' ' + this.type + ' apple');
};
$scope.appl = new Apple();
};
然后:
<div ng-controller="MyController">
<a href="" ng-click="appl.getInfo()">click</a>
</div>
更详细地说,传递给Angular的ngClick
的表达式是在Angular $scope
的上下文中(而不是在它们在DOM中的位置的上下文中)求值的。您可以通过查看ngClick
的来源来看到这一点
相关文章:
- 使用“;这个“;JavaScript原型方法中的关键字
- Node.js中的JavaScript原型对象效率
- 为什么要返回'这'在导致循环的JavaScript原型中
- JavaScript原型设计基础知识
- 就良好实践而言,带闭包的javascript原型是一件好事吗
- 无法从angularjs调用JavaScript原型函数
- JavaScript原型示例
- Javascript原型组织
- 未复制JavaScript原型
- JavaScript原型的意义到底是什么
- 两个对象之间的Javascript原型
- 使用特权Getter/Setter函数的JavaScript原型函数
- 语法错误,但无法调试JavaScript原型
- 澄清:Javascript原型更新混乱
- 如何进行JavaScript原型继承(原型链)
- Javascript原型通用Enquries和通过数组索引分配Id
- 理解Javascript原型继承
- JavaScript原型与实践中的对比
- JavaScript原型构造函数只调用过一次
- Javascript原型继承原型函数调用