gpt4 book ai didi

javascript - 将 ng-model 重新绑定(bind)到服务对象

转载 作者:行者123 更新时间:2023-12-03 09:38:29 25 4
gpt4 key购买 nike

我有一个 View ,其中包含一个 ng-model,它首先连接一个空服务对象。由于对象为 null,即使该值可用,ng-model 也不会绑定(bind)到该值。有什么方法可以将 ng-model 重新绑定(bind)到可用值。我不想使用 ng-change 因为 ng-change 只是触发单向绑定(bind)。这是笨蛋。

http://plnkr.co/edit/4jILPHJy2P6ueIaJSlNl?p=preview

在plunker中,formController中有一个服务“myService”。在 html 中,我将 ng-model 与服务 myService.name 内的变量绑定(bind)。

<input type="text" class="form-control" name="name" ng-model="myService.name">

我想要做的是,当我单击按钮时,服务名称已初始化,因此我可以将 ng-model 与服务变量绑定(bind)。

最佳答案

在您的原始代码中,myService 不在 ng Controller 的 $scope 中。因此,即使您将输入与 myService.name 绑定(bind),ng-model 也不是您创建的 myService。

您必须将 myService 分配给 $scope,如下所示才能使您的代码正常工作。

var formApp = angular.module('formApp', [])


.service('myService',function(){
this.name='hello';
})

.controller('formController', function($scope,myService) {

// we will store our form data in this object
$scope.formData = {};
$scope.myService = myService;
$scope.click=function(){
myService.name='test';
}

});

但我建议您在 $scope 中创建一个局部变量并将服务中的值分配给它,而不是获取整个服务对象。这就是 ng service 提供某种“服务”的全部目的。

关于javascript - 将 ng-model 重新绑定(bind)到服务对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31257018/

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