无法将数据从控制器正确绑定到自定义指令模板Angular

内森·丹格(Nathan Danger)

因此,我在自定义指令中拥有自己模板中用于搜索栏的代码。然后,将该指令放入我的Navbar模板中。

<form class="navbar-form navbar-left" role="search">
    <div class="form-group">
        <input type="text" class="form-control" placeholder="Search" ng-model="searchText">
    </div>
    <button type="submit" class="btn btn-default" ng-click="go('/searchResults')">Submit</button>
</form>

    .state('searchResults', {
            url: '/searchResults',
            templateUrl: 'templates/searchResults.html',
            controller: 'searchController'
        })
}]).

directive('searchBar', function() {
  return {
    restrict: 'E',
    templateUrl: 'templates/search.html',
    controller: "searchController"
  }
});

我的SearchController处理此搜索栏的范围,但是在将数据绑定到另一个模板(即我的searchResults模板)时遇到了一些麻烦。我的SearchController调用我编写的服务,该服务可以检索一些数据并可以正常工作。但是,当我尝试将数据绑定到我的SearchResults页面时,angular不会绑定从服务接收到的任何数据(尽管它将控制台注销正确的数据)。

Name: {{player.playerName}}<br>
Link: {{player.link}}<br>
Things: {{things}}<br>

控制器:

angular
.module('app')
.controller('searchController', ['$scope',"$http","$location", "PlayerDAO", function($scope, $http, $location, PlayerDAO){

    $scope.things="stuff";

    $scope.go = function ( path ) {
        if(checkSearchBar()){   
            $location.path( path );
            PlayerDAO.getPlayers($scope.searchText).then($scope.postPlayerToResultsPage, onError);
        }
    };

    $scope.postPlayerToResultsPage=function(result){
        $scope.player=result;
        $scope.things="Hooray, it worked";
        $scope.player.playerName;
        console.log(result);
    };
}]);

然而,对我来说奇怪的是,它将绑定我用来获取数据的函数中没有的任何数据(即它将绑定{{things}}),但是我的函数“ postPlayerToResultsPage”中的任何数据都不会被Angular看到。如果我将搜索栏的代码直接放在搜索结果页面中,则该页面上显示的导航栏可以正常工作,但是我需要将搜索栏放在主导航模板上,并且可以在所有页面。

汉克天蝎座

我怀疑由于指令的$ scope的原型性质,您的数据没有约束力。尝试使用controllerAs语法进行数据绑定,以避免$ scope模糊。例如

指示:

controller: 'searchController',
controllerAs: 'searchCtl'

控制器:

var controller = this;

$scope.postPlayerToResultsPage=function(result){
    controller.player=result;
    controller.things="Hooray, it worked";
    controller.player.playerName;
    console.log(result);
};

的HTML:

Name: {{searchCtl.player.playerName}}<br>
Link: {{searchCtl.player.link}}<br>
Things: {{searchCtl.things}}<br>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法将数据从控制器正确绑定到自定义指令模板Angular

来自分类Dev

哪些参数要传递到Angular JS自定义指令控制器中?

来自分类Dev

将数组对象从控制器传递到AngularJS中的自定义指令

来自分类Dev

AngularJS-从自定义指令将参数从ng-repeat传递到控制器

来自分类Dev

将数组对象从控制器传递到AngularJS中的自定义指令

来自分类Dev

Angular.js,需要最佳解决方案将动态模板形成和多个指令的编译代码从控制器移动到自定义指令

来自分类Dev

将常规的自定义js事件绑定到角度控制器功能

来自分类Dev

将数据从自定义UI单元传递到视图控制器

来自分类Dev

将数据从自定义 tableview 单元格传递到 UIView 控制器

来自分类Dev

使用编译中的自定义模板在指令中访问AngModel控制器

来自分类Dev

Angular JS指令定义-需要ngModelController以及自定义控制器

来自分类Dev

将HTML中提到的自定义方法和类绑定到指令模板

来自分类Dev

在Angularjs自定义指令中隔离控制器

来自分类Dev

从控制器添加自定义指令

来自分类Dev

如何从角度控制器调用自定义指令

来自分类Dev

将模板中的数组从模板绑定到控制器

来自分类Dev

将模板中的数组从模板绑定到控制器

来自分类Dev

如何在自定义指令中访问控制器数据集

来自分类Dev

为什么Angular自定义指令范围会影响父控制器范围?

来自分类Dev

为什么Angular自定义指令范围会影响父控制器范围?

来自分类Dev

如何将数据从指令模板传递到控制器?

来自分类Dev

将ngModel而不是值绑定到用于货币输入的自定义Angular指令

来自分类Dev

AngularJS将变量从自定义指令传递到模板

来自分类Dev

如何通过自定义控制器 drupal 8 将变量传递给主题模板

来自分类Dev

我正在尝试将数据从自定义 Angular JS 服务返回到控制器,但它始终返回“{}”

来自分类Dev

需要从控制器的ng-init函数调用获取模板以获取Angularjs中的自定义指令

来自分类Dev

无法路由到 Yii2 控制器中的自定义操作

来自分类Dev

路由到控制器中的自定义动作

来自分类Dev

表格视图到自定义视图控制器?

Related 相关文章

  1. 1

    无法将数据从控制器正确绑定到自定义指令模板Angular

  2. 2

    哪些参数要传递到Angular JS自定义指令控制器中?

  3. 3

    将数组对象从控制器传递到AngularJS中的自定义指令

  4. 4

    AngularJS-从自定义指令将参数从ng-repeat传递到控制器

  5. 5

    将数组对象从控制器传递到AngularJS中的自定义指令

  6. 6

    Angular.js,需要最佳解决方案将动态模板形成和多个指令的编译代码从控制器移动到自定义指令

  7. 7

    将常规的自定义js事件绑定到角度控制器功能

  8. 8

    将数据从自定义UI单元传递到视图控制器

  9. 9

    将数据从自定义 tableview 单元格传递到 UIView 控制器

  10. 10

    使用编译中的自定义模板在指令中访问AngModel控制器

  11. 11

    Angular JS指令定义-需要ngModelController以及自定义控制器

  12. 12

    将HTML中提到的自定义方法和类绑定到指令模板

  13. 13

    在Angularjs自定义指令中隔离控制器

  14. 14

    从控制器添加自定义指令

  15. 15

    如何从角度控制器调用自定义指令

  16. 16

    将模板中的数组从模板绑定到控制器

  17. 17

    将模板中的数组从模板绑定到控制器

  18. 18

    如何在自定义指令中访问控制器数据集

  19. 19

    为什么Angular自定义指令范围会影响父控制器范围?

  20. 20

    为什么Angular自定义指令范围会影响父控制器范围?

  21. 21

    如何将数据从指令模板传递到控制器?

  22. 22

    将ngModel而不是值绑定到用于货币输入的自定义Angular指令

  23. 23

    AngularJS将变量从自定义指令传递到模板

  24. 24

    如何通过自定义控制器 drupal 8 将变量传递给主题模板

  25. 25

    我正在尝试将数据从自定义 Angular JS 服务返回到控制器,但它始终返回“{}”

  26. 26

    需要从控制器的ng-init函数调用获取模板以获取Angularjs中的自定义指令

  27. 27

    无法路由到 Yii2 控制器中的自定义操作

  28. 28

    路由到控制器中的自定义动作

  29. 29

    表格视图到自定义视图控制器?

热门标签

归档