繁体   English   中英

Angular Directive,自读未成功,console.log无法正常工作

[英]Angular Directive, argument not beign read and console.log not working

我正在尝试使该指令有效,目标是读取菜单文本以显示的JSON对象,根据该选项卡,选项卡将填充其他指令。

的HTML

<lista-tabs myMenues="general.sectionsList"></lista-tabs>

JS

app.directive('listaTabs', function() {
    return {
        restrict: 'E',
        scope: {
            myMenues: '@',
        },
        link: function(scope, element, attrs) {
            console.log("Inside link function");
            console.log(myMenues);
        },
    };
});

其他指令也可以。 我需要分析该JSON对象,并根据它组装菜单,一旦我开始工作就不会有问题。 但是console.log没有显示任何内容,甚至没有显示纯文本。 警报方法可以正常工作。

我已经安装了用于phonegap的console.log插件,并且可以在项目的其他部分工作。

顺便说一句:我正在用tw bootstrap进行phonegap。

提前致谢!

所有的角度指令都必须用短划线分隔,并且我从您的代码中了解到,您希望将此对象绑定到一个对象而不是字符串,您也要在myMenues attr上使用作用域,这里是工作示例:

 var app = angular.module('stack', []); app.controller('MainCtrl', function($scope) { $scope.general = { sectionsList: 'someText' } }); app.directive('listaTabs', function() { return { restrict: 'E', scope: { myMenues: '=', }, link: function(scope, element, attrs) { console.log("Inside link function"); alert(scope.myMenues); }, }; }); 
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.22/angular.min.js"></script> <body ng-app="stack" ng-controller="MainCtrl"> <lista-tabs my-menues="general.sectionsList"></lista-tabs> </body> 

指令的属性(在HTML中) 遵循相同的角度归一化 这意味着它们必须与指令名称一样用短划线分隔。

<lista-tabs my-menues="general.sectionsList"></lista-tabs>

另一个需要注意的是,在链接函数中,您引用的变量myMenues并未在任何地方定义。 请记住, myMenues is a property of your object you defined above. You should be using myMenues is a property of your范围object you defined above. You should be using myMenues is a property of your object you defined above. You should be using object you defined above. You should be using scope.myMenues`。

最后,您当前正在使用@绑定,该绑定旨在绑定到DOM字符串。 如果确实需要对象,则需要使用双向=绑定或单向表达式绑定( & )。 有关指令定义,请参见文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM