Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS指令不显示数据_Javascript_Angularjs_Angularjs Directive - Fatal编程技术网

Javascript AngularJS指令不显示数据

Javascript AngularJS指令不显示数据,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我有一个AngularJS指令,我的目标是使用自定义指令(来自工厂)循环数据 app.directive('exampleDirective',函数($scope、TestProvider、TestFactory){ 返回{ 限制:'E', 模板:“”, 替换:正确, 链接:功能(范围、elm、属性){ //循环通过数据和显示 log(TestFactory.dataReturn()); } }; }) 模板 名字 姓氏 {{dat.Name} {{dat.姓氏}} {{message}}

我有一个AngularJS指令,我的目标是使用自定义指令(来自工厂)循环数据

app.directive('exampleDirective',函数($scope、TestProvider、TestFactory){
返回{
限制:'E',
模板:“”,
替换:正确,
链接:功能(范围、elm、属性){
//循环通过数据和显示
log(TestFactory.dataReturn());
}
};
})
模板

名字
姓氏
{{dat.Name}
{{dat.姓氏}}
{{message}}
AngularJS代码:

var app = angular.module('myApp', []);

app.controller('myCtrl', function ($scope, TestProvider, TestFactory) {http://jsfiddle.net/Jack113/28msb4y2/#fork
    $scope.test = [
        TestProvider.dataReturn(),
];

    $scope.dunData = TestFactory.dataReturn();
    $scope.message ="Fun";
});
        app.factory('TestFactory', function () {
    return {
        dataReturn: function () {
            return [{ Name: "Jack", Surname: "Du Plooy" }, { Name: "Lukas", Surname: "Van Staden" }, { Name: "Siswe", Surname: "Mok" }, { Name: "Frikkie", Surname: "Schimm" }, { Name: "Nomfundo", Surname: "Yoss" }, { Name: "Anthony", Surname: "Palmer" }]
        }
    };
});
app.provider('TestProvider', function () {

    this.name = 'Riaaan';

    this.$get = function () {
        var name = this.name;
        return {
            dataReturn: function () {
                return "Hello, " + name + "!"
            }
        }
    };

    this.setName = function (name) {
        this.name = name;
    };
});
app.directive('exampleDirective', function ($scope, TestProvider, TestFactory) {
    return {
        restrict: 'E',
        template: '<span></span>',
        replace: true,
        link: function(scope, elm, attrs) {

            console.log(TestFactory.dataReturn());                       
        }
    };
});
var-app=angular.module('myApp',[]);
app.controller('myCtrl',函数($scope,TestProvider,TestFactory){http://jsfiddle.net/Jack113/28msb4y2/#fork
$scope.test=[
TestProvider.dataReturn(),
];
$scope.dunData=TestFactory.dataReturn();
$scope.message=“乐趣”;
});
app.factory('TestFactory',函数(){
返回{
dataReturn:函数(){
返回[{姓名:“杰克”,姓氏:“杜普洛伊”},{姓名:“卢卡斯”,姓氏:“范斯塔登”},{姓名:“西斯韦”,姓氏:“莫”},{姓名:“弗里基”,姓氏:“希姆”},{姓名:“诺姆芬多”,姓氏:“尤斯”},{姓名:“安东尼”,姓氏:“帕尔默”}]
}
};
});
app.provider('TestProvider',函数(){
this.name='Riaaan';
此。$get=函数(){
var name=this.name;
返回{
dataReturn:函数(){
返回“你好,”+name+“!”
}
}
};
this.setName=函数(名称){
this.name=名称;
};
});
app.directive('exampleDirective',function($scope,TestProvider,TestFactory){
返回{
限制:'E',
模板:“”,
替换:正确,
链接:功能(范围、elm、属性){
log(TestFactory.dataReturn());
}
};
});


为什么此指令的模板中不显示数据?

指令函数在执行配置和运行阶段后立即执行

循环

app.directive('exampleDirective', function (TestProvider, TestFactory) {
  • 配置阶段
  • 运行阶段
  • 指令功能
  • 其他执行
  • 上述顺序

    您不能在指令函数中插入
    $scope
    依赖项,
    $scope
    可以在
    链接
    /
    控制器
    函数中使用。它在编译时不可用

    代码

    app.directive('exampleDirective', function (TestProvider, TestFactory) {
    

    是的,谢谢,我还在学习,这很有价值,information@Jack很高兴帮助你……谢谢:)
    app.directive('exampleDirective', function (TestProvider, TestFactory) {