Javascript 究竟是什么';这';在AngularJS控制器中是什么意思?
index.htmlJavascript 究竟是什么';这';在AngularJS控制器中是什么意思?,javascript,angularjs,model-view-controller,controller,angularjs-controller,Javascript,Angularjs,Model View Controller,Controller,Angularjs Controller,index.html <body ng-controller="StoreController as s"> <h1 ng-click="s.changeValFunc()">{{s.carname}}</h1> <h2>{{s.carname}}</h2> </body> 单击h1标记将h1和h2的{{carname}}更改为BMW。“this”不是指当前正在单击的元素吗。我对视图之间如何共享控制器属性感到
<body ng-controller="StoreController as s">
<h1 ng-click="s.changeValFunc()">{{s.carname}}</h1>
<h2>{{s.carname}}</h2>
</body>
单击h1标记将h1和h2的{{carname}}更改为BMW。“this”不是指当前正在单击的元素吗。我对视图之间如何共享控制器属性感到困惑。控制器功能是通过
新建
实例化的。这意味着它的工作原理如下:
function StoreController() {
this.carname = "Volvo";
this.changeValFunc = function () {
this.carname="BMW";
}
};
var s = new StoreController();
console.log(s.carname); // Volvo
视图中的
s
是对实例化的StoreController
的引用,它具有这些属性,因为您将它们放在构造函数中。您可能想查看详细信息。控制器函数是用new
实例化的。这意味着它的工作原理如下:
function StoreController() {
this.carname = "Volvo";
this.changeValFunc = function () {
this.carname="BMW";
}
};
var s = new StoreController();
console.log(s.carname); // Volvo
视图中的
s
是对实例化的StoreController
的引用,它具有这些属性,因为您将它们放在构造函数中。您可能需要查看详细信息。在您的情况下,这是指控制器本身
因此,可以使用访问该控制器中的任何属性
this.attribute
在本例中,将控制器“分配”给父元素
<body ng-controller="StoreController as s">
这意味着您要为元素体创建一个StoreController的实例
更改属性carname可以更改整个控制器的属性
如果您对OO编程知之甚少,您可以将控制器视为一个类,并以此引用该类的实例
对于您的情况也是如此,在javascript中,这个有时会有一些奇怪的行为
正如deceze所说,你可以看看一些帖子,它们解释了这个在JS中是如何工作的
希望这对您有所帮助在您的情况下,这指的是控制器本身 因此,可以使用访问该控制器中的任何属性
this.attribute
在本例中,将控制器“分配”给父元素
<body ng-controller="StoreController as s">
这意味着您要为元素体创建一个StoreController的实例
更改属性carname可以更改整个控制器的属性
如果您对OO编程知之甚少,您可以将控制器视为一个类,并以此引用该类的实例
对于您的情况也是如此,在javascript中,这个有时会有一些奇怪的行为
正如deceze所说,你可以看看一些帖子,它们解释了这个在JS中是如何工作的
希望这有帮助是的,我知道了。谢谢只是在OO编程中,我们说新的构造函数属于一个类。这里我们有一个函数。类在这里哪里合适?@mustafa Javascript没有类,它只有对象和函数。“类”行为是通过
this
和new
关键字和prototype
的行为实现的。它和基于类的OO一样是“OO”,可以说更是如此,因为一切都是对象。这不是一个合适的地方来扩展,但是,关于这个已经有足够多的讨论了。是的,现在我知道该搜索什么了。是的,我知道了。谢谢只是在OO编程中,我们说新的构造函数属于一个类。这里我们有一个函数。类在这里哪里合适?@mustafa Javascript没有类,它只有对象和函数。“类”行为是通过this
和new
关键字和prototype
的行为实现的。它和基于类的OO一样是“OO”,可以说更是如此,因为一切都是对象。这不是一个合适的地方来扩展,但是,关于这个已经有足够多的讨论了。是的,现在我知道该搜索什么了。谢谢你的参考。这篇文章很有帮助。谢谢你的推荐。这篇文章很有帮助。可能重复的可能重复的