Javascript 如何在指令模板中使用传递的数据?

Javascript 如何在指令模板中使用传递的数据?,javascript,html,angularjs,Javascript,Html,Angularjs,我使用指令创建了一个可重用组件,如下所示: app.directive("menu", function () { return { restrict: 'AE', templateUrl: '/menu.html', scope: { title: '=title' } }; }); menu.html: <div>{{title}}</div> 结果:标签未解析

我使用指令创建了一个可重用组件,如下所示:

app.directive("menu", function () {
    return {
        restrict: 'AE',
        templateUrl: '/menu.html',
        scope: {
            title: '=title'
        }
    };
});
menu.html:

<div>{{title}}</div>

结果:标签未解析。为什么?

您必须这样声明:

app.directive("menu", function () {
    return {
        restrict: 'AE',
        templateUrl: '/menu.html',
        scope: {
            title: '@'
        }
    };
});


Text Binding    (Prefix: @)
One-way Binding (Prefix: &) (for functions)
Two-way Binding (Prefix: =)

深入了解@vs=

您必须这样声明:

app.directive("menu", function () {
    return {
        restrict: 'AE',
        templateUrl: '/menu.html',
        scope: {
            title: '@'
        }
    };
});


Text Binding    (Prefix: @)
One-way Binding (Prefix: &) (for functions)
Two-way Binding (Prefix: =)

深入了解@vs=

您必须这样声明:

app.directive("menu", function () {
    return {
        restrict: 'AE',
        templateUrl: '/menu.html',
        scope: {
            title: '@'
        }
    };
});


Text Binding    (Prefix: @)
One-way Binding (Prefix: &) (for functions)
Two-way Binding (Prefix: =)

深入了解@vs=

您必须这样声明:

app.directive("menu", function () {
    return {
        restrict: 'AE',
        templateUrl: '/menu.html',
        scope: {
            title: '@'
        }
    };
});


Text Binding    (Prefix: @)
One-way Binding (Prefix: &) (for functions)
Two-way Binding (Prefix: =)

关于@vs=

有三种类型的指令绑定:

  • “@”(文本绑定/单向绑定)
  • “=”(直接模型绑定/双向绑定)
  • “&”(行为绑定/方法绑定)

  • 因此,在您的情况下,如果您只关心显示文本,您将使用“@”符号,有三种类型的指令绑定:

  • “@”(文本绑定/单向绑定)
  • “=”(直接模型绑定/双向绑定)
  • “&”(行为绑定/方法绑定)

  • 因此,在您的情况下,如果您只关心显示文本,您将使用“@”符号,有三种类型的指令绑定:

  • “@”(文本绑定/单向绑定)
  • “=”(直接模型绑定/双向绑定)
  • “&”(行为绑定/方法绑定)

  • 因此,在您的情况下,如果您只关心显示文本,您将使用“@”符号,有三种类型的指令绑定:

  • “@”(文本绑定/单向绑定)
  • “=”(直接模型绑定/双向绑定)
  • “&”(行为绑定/方法绑定)


  • 所以在你的情况下,如果您只关心显示文本,则可以使用“@”符号

    尝试使用-title:“=”美元scope.text包含什么?尝试使用-title:“=”美元scope.text包含什么?尝试使用-title:“=”美元scope.text包含什么?尝试使用-title:“=”美元scope.text包含什么?有什么区别当使用
    title:'@'
    (有效)而不是
    title:'='
    (无效)时,@membersound在我的答案中添加了一些信息,我会尽快添加到angular doc的链接;p'@'表示单向绑定,“=”表示双向绑定binding@membersound我找不到关于它的官方文档,我用一篇解释它的帖子编辑了我的答案。在大多数简单的情况下,记住
    @文本、=变量和函数就足够了:)使用
    标题有什么区别:'@'
    (有效)而不是
    标题:'='
    (无效)?@membersound在我的答案中添加了一些信息,我会在找到后立即添加到angular doc的链接;p'@“表示单向绑定,=”意思是双向的binding@membersound我找不到关于它的官方文档,我用一篇解释它的帖子编辑了我的答案。在大多数简单的情况下,记住
    @文本、=变量和函数就足够了:)使用
    标题时有什么区别:'@'
    (有效)不是
    标题:'='
    (这不起作用)?@membersound在我的答案上添加了一些信息,我会在找到它后立即添加到angular doc的链接;p'@'表示单向绑定,“=”表示双向绑定binding@membersound我找不到关于它的官方文档,我用一篇解释它的帖子编辑了我的答案。在大多数简单的情况下,记住
    @文本、=变量和函数就足够了:)使用
    标题有什么区别:'@'
    (有效)而不是
    标题:'='
    (无效)?@membersound在我的答案中添加了一些信息,我会在找到后立即添加到angular doc的链接;p'@“表示单向绑定,=”意思是双向的binding@membersound我找不到关于它的官方文档,我用一篇解释它的帖子编辑了我的答案。在大多数简单的情况下,记住
    @文本、=变量和函数就足够了:)