angulaire.js - Comment les directives angulaires attribuent-elles des valeurs aux contrôles?
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-15 17:05:14
0
3
593

Par exemple, j'ai un paramètre dans le contrôleur principal : $scope.datas

Ensuite, j'ai ici une directive qui demande des données sur le contrôleur accusé et souhaite ensuite les attribuer au $scope.datas du contrôleur principal.
Comment réussir ?

Par exemple, commande :


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) {


                });

}

La commande s'applique directement sur la page :

<profit-search></profit-search>

Mais cette affectation est fausse :
$compile:nonassign

Comment le casser ? N'ai-je pas utilisé la liaison bidirectionnelle ci-dessus ?

曾经蜡笔没有小新
曾经蜡笔没有小新

répondre à tous(3)
曾经蜡笔没有小新

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

仅有的幸福

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.

Peter_Zhu
<profit-search datas='datas'></profit-search>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal