我需要更改变量" prefs"无论是轻松,中等还是艰难的"基于用户点击。
实施例: 这
{{choice.prefs.title}}
需要改变
{{choice.easy.price}}
或{{choice.medium.price}}
或{{choice.hard.price}}
基于用户点击的按钮
<button class="button button-stable" ng-click="prefs="easy"")>Change to Easy</button>
</div>
<button class="button button-stable" ng-click="diff='normal'">Change to Medium</button>
</div>
<button class="button button-stable" ng-click="diff='hard'">Change to Hard</button>
</div>
手动输入
{{choice.easy.price}}
有效但{{choice.prefs.price}}
和ng-click="pref='easy'"
不起作用
感谢您的帮助
编辑: 我试图在我的控制器中访问的数组看起来像这样
allbooks={
book1:{
easy{title:"whatever"},
medium{title:"hello"},
hard{title:"another"}
},
book2:{
easy{title:"whatever"},
medium{title:"hello"},
hard{title:"another"}
},
book3:{
easy{title:"whatever"},
medium{title:"hello"},
hard{title:"another"}
},
}
选项由一个功能分配,该功能只需根据用户点击次数将选项设置为allbooks.book1
或allbooks.book2
所以我需要合并choice
和prefs
感谢:)
答案 0 :(得分:2)
您可以这样做:
<button class="button button-stable" ng-click="prefs='easy'")>Change to Easy</button>
</div>
<button class="button button-stable" ng-click="prefs='normal'">Change to Medium</button>
</div>
<button class="button button-stable" ng-click="prefs='hard'">Change to Hard</button>
</div>
并使用:$scope[prefs].title
代替$scope.prefs.title
(在引用变量对象属性时使用[]
表示法而不是.
表示法)