Seb*_*rth 10 javascript angularjs angularjs-ng-click angular-ng-if
当使用ng-if时,为什么第二个按钮不起作用?
我想实现一个按钮,只有当模型值设置为/"/"时才会出现.
模板:
<input type="text" ng-model="blub"/>
<br/>
<button ng-click="blub = 'xxxx'">X</button>
<br/>
<button ng-click="blub = 'yyyy'" ng-if="blub.length">Y</button>
Run Code Online (Sandbox Code Playgroud)
控制器:
angular.module('test', [])
.controller('Main', function ($scope) {
// nothing to do here
});
Run Code Online (Sandbox Code Playgroud)
玩耍: JSFiddle
小智 7
它不起作用,因为ng-if正在创建一个新的范围并将你的blub ='yyyy'解释为在新范围中定义一个新的局部变量.您可以通过将第二个按钮设置为:
<button ng-click="$parent.blub = 'yyyy'" ng-if="blub.length">Y</button>
Run Code Online (Sandbox Code Playgroud)
然而,$ parent是一个丑陋的功能.