Maison  >  Questions et réponses  >  le corps du texte

angular.js - angular的指令如何赋值给控制的值呢?

比如,我在主控制器中有一个参数是: $scope.datas

然后,我在这里有一个指令,在指控的控制器上请求数据,然后想要赋值给主控制器的 $scope.datas。
如何得逞呢?

如,指令:


app.directive('profitSearch', function () {

    return {

        restrict: 'AE',
        scope: {
            datas: "="
        },
        templateUrl: "/templates/profitSearch.jsp",
        controller: function ($scope, $http) {

        $http({
                    url: 'doSearch.req',
                    method: 'POST',
                    data: $scope.searchObject
                }).success(function (response, header, config, status) {

                    $scope.datas = response.content;

                }).error(function (response, header, config, status) {


                });

}

指令在页面直接应用:

<profit-search></profit-search>

但是这样赋值是错误的:
$compile:nonassign

怎么破呢?我上面不是用了双向绑定了吗?

曾经蜡笔没有小新曾经蜡笔没有小新2735 Il y a quelques jours549

répondre à tous(3)je répondrai

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-15 17:07:14

    Il n'y a aucune affectation lorsque vous l'utilisez dans la commande. Essayez de le remplacer par ceci.

     scope: {
        datas: "=?"
     },

    Ou attribuez une valeur à la commande

    <profit-search datas="datas"></profit-search>

    https://docs.angularjs.org/error/$compile/nonassign

    répondre
    0
  • 仅有的幸福

    仅有的幸福2017-05-15 17:07:14

    Avez-vous besoin d'écrire des instructions ? Allez! Non seulement cela fait perdre du temps en écrivant des instructions de manière aléatoire, mais les performances ne seront pas meilleures. Écrire une requête directement dans le service devrait résoudre le problème.

    répondre
    0
  • 天蓬老师

    天蓬老师2017-05-15 17:07:14

    <profit-search datas='datas'></profit-search>

    répondre
    0
  • Annulerrépondre