将角度引用传递给函数作为属性

时间:2014-09-07 15:30:02

标签: javascript angularjs angularjs-directive

我有一个看起来像这样的控制器

app.controller('TrailController', function(){
    this.tab = "firstTab";

    this.setTab = function(newValue){
      this.tab = newValue;
    };

    this.isSet = function(tabName){
      return this.tab === tabName;
    };
    this.card = "not this" ;
});

它在函数this.setTab中使用字符串并将它们分配给this.tab

现在我想从数组中传递一个项目作为this.setTab的属性,我试图使用代码这样做:

<a  href="" ng-click="tab.setTab({{test[0]}})">

注意:{{test [0]}}是一个指令,可以在页面的其他地方使用。  但是,当我加载页面时按钮不起作用,控制台日志给我错误

Error: [$parse:syntax] http://errors.angularjs.org/1.2.23/$parse/syntax?p0=test&p1=is%20unexpected%2C%20expecting%20%5B%3A%5D&p2=14&p3=tab.setTab(%7B%7Btest%7D%7D)&p4=test%7D%7D)

我无法理解错误:

Syntax Error: Token 'test' is unexpected, expecting [:] at column 14 of the expression [tab.setTab({{test}})] starting at [test}}].

1 个答案:

答案 0 :(得分:0)

请改为尝试:

<a  href="" ng-click="tab.setTab(test[0])">

ng-click是一个指令,因此您不需要双花括号。