【问题标题】:get html element from Angular directive从 Angular 指令中获取 html 元素
【发布时间】:2015-12-09 19:29:19
【问题描述】:

我正在尝试将参数传递给我的 Angular 指令。在 HTML 中,我从 Ruby on Rails 设置 current_user,如下所示:

<user_menu current_user="#{current_user_email}"></user_menu>

在指令 (user_menu.js) 中,我尝试得到它:

angular.module('mgApp.directives').directive('userMenu', function(){
return {
restrict: 'E',
templateUrl: 'user_menu/user_menu.html',
scope: {
    current_user: '='
},
link: function(scope, element, attrs) {
    alert("current_user:" + scope.current_user)
}

但它不起作用。 current_user 未定义。 知道我做错了什么吗?

【问题讨论】:

    标签: html angularjs angularjs-directive angularjs-scope


    【解决方案1】:

    这样做

    <user_menu current_user="current_user_email"></user_menu>.
    

    current_user_email 必须在您的控制器范围内

    【讨论】:

    • 感谢@hic1086,但#{current_user_email} 是rails 属性而不是文本。它将具有用户电子邮件的价值
    • 您不能将其归因于您的控制器范围的变量?
    【解决方案2】:

    你试过&lt;user_menu current_user="#{{current_user_email}}"&gt;&lt;/user_menu&gt;

    或者,不带花括号试试?

    【讨论】:

    • 这并没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方发表评论 - 您可以随时评论自己的帖子,一旦您有足够的reputation,您就可以comment on any post
    • 你试过 或者不带花括号试试?
    猜你喜欢
    • 2016-12-02
    • 2016-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-12
    • 1970-01-01
    • 2017-02-08
    • 1970-01-01
    相关资源
    最近更新 更多