gpt4 book ai didi

javascript - 具有 javascript 背景的 angularJS 思考

转载 作者:行者123 更新时间:2023-11-28 07:50:00 27 4
gpt4 key购买 nike

我以前使用过 javascript,但现在我开始使用 angularjs,但我对如何做基本的事情感到困惑。

例如:在 JavaScript 中:

 //here is how i create a constructor
function createUser(name, age, address)
{
this.name = name;
this.age = age;
this.address = address;

this.sayName = function()
{
return this.name;
}
};

注意:构造函数的数据是由用户通过表单输入提供的。

但是在 AngularJS 中,我会创建一个带有 Controller 的模块。 Controller 将通过使用“ng-model”绑定(bind)数据和$scope将数据传输到 Controller 来获取用户输入。我的问题是,我是否在我的 Angular 模块中以与在纯 JavaScript 中相同的方式创建构造函数,如果是,那么我如何创建(一个例子就很好)。我想让我的 Angular 模块和 Controller 保持薄型,并且不要包含太多东西。

举个例子会很有帮助。任何关于如何用 AngularJS 思考的建议都会很棒。

提前致谢。

最佳答案

angular.js 的一个很酷的地方是它允许你在作用域上绑定(bind) POJO。

您可以按照已知的方式创建它,然后将其放在范围内。

我倾向于将构造函数注册为服务,将它们注入(inject)到 Controller 中,然后每次使用时实例化一个对象。

例如,这里是服务:

app.factory('User', function() {

function User(name, age, address) {
this.name = name;
this.age = age;
this.address = address;
}

User.prototype.sayName = function() {
return this.name;
};

return User;
});

还有一个 Controller :

app.controller('UserCtrl', ['$scope', 'User', function($scope, User) {
$scope.user = new User('ilan', 30, 'Nahariya');
}]);

还有一个模板:

<div ng-controller="UserCtrl">
<h1>{{ user.sayName() }}</h1>
</div>

关于javascript - 具有 javascript 背景的 angularJS 思考,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26959331/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com