Angularjs 如何操作独立的作用域输入变量?

Angularjs 如何操作独立的作用域输入变量?,angularjs,angularjs-directive,angularjs-scope,Angularjs,Angularjs Directive,Angularjs Scope,我想处理发送到我的指令的数据,即,我有一个显示用户名的myUser指令,使用方式如下: <my-user id="25" name="John Doe"></my-user> 但是,替换没有发生。我假设控制器和链接函数都是在模板呈现后执行的 此外,navTo函数返回以下错误: Error: [$parse:syntax] Syntax Error: Token 'id' is unexpected, expecting [:] at column 21 of the e

我想处理发送到我的指令的数据,即,我有一个显示用户名的myUser指令,使用方式如下:

<my-user id="25" name="John Doe"></my-user>
但是,替换没有发生。我假设控制器和链接函数都是在模板呈现后执行的

此外,navTo函数返回以下错误:

Error: [$parse:syntax] Syntax Error: Token 'id' is unexpected, expecting [:] at column 21 of the expression [navTo('/users/' + {{id}})] starting at [id}})].

如果您有任何关于如何解决此问题的想法,我们将不胜感激。

只需将您的模板替换为以下行,它就可以工作了

template: '<a ng-click=\'navTo("/users/{{id}}")\'>{{name}}</a>',
ng click接受一个表达式,不需要插值,因此不需要使用{{}。你可以把它们移除,就像这样

template: '<a ng-click="navTo(\'/users/\' + id)">{{name}}</a>'

您不需要{{}}环绕id。如果我们没有{{}值,则不会对其进行插值,它将给出字符串“id”而不是值25@AnthonyChu-太好了,没有{{}就行了。你知道为什么替换不起作用吗?谢谢!我又玩了一些,这个版本对我有用:模板:{{name},这个不起作用。导航到/users/{{id}}ng click的输出不支持插值。。。
template: '<a ng-click=\'navTo("/users/{{id}}")\'>{{name}}</a>',
template: '<a ng-click="navTo(\'/users/\' + id)">{{name}}</a>'