gpt4 book ai didi

javascript - Angular : $scope works but "controller as" does not fire ng-change event

转载 作者:行者123 更新时间:2023-12-02 14:46:30 25 4
gpt4 key购买 nike

我有一个 Controller 如下:

(function () {
'use strict';

angular
.module('vweb')
.controller('ProfilesController', ProfilesController);

/** @ngInject */
function ProfilesController(profileService, $scope) {
var vm = this;
vm.searchTerm = '';
vm.profileService = profileService;

$scope.$on('$viewContentLoaded',
function () {
vm.searchProfiles();
});

vm.searchProfiles = function() {
alert("term: " + vm.searchTerm);
profileService.searchProfiles(vm.searchTerm)
.then(function (profiles) {
alert("Here's my profiles " + angular.toJson(profiles));
});
}

}
})();

连同输入字段(搜索词):

<input type="text" class="search-query form-control" placeholder="Search" 
ng-model="controller.searchTerm" ng-change="controller.searchProfiles()"/>

profiles.html 页面的开头是: <div class="container" ng-controller="ProfilesController as controller">

使用此方法时,输入字段上的更改事件不会在 Controller 中触发。但从“ Controller 作为”样式更改为 $scope工作正常。

我使用的是 ui-router 框架而不是 ng-route。 (我用来启动的自耕农生成器为我选择了这个)。

问题:

我最近几天刚刚开始使用 Angular,但是阅读“controller as”更容易测试。我怎样才能以“ Controller 作为”风格进行这项工作?

最佳答案

您在定义 $scope.$on 函数之前调用了 searchProfiles,这会导致其余代码无法加载。

关于javascript - Angular : $scope works but "controller as" does not fire ng-change event,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36560718/

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