【发布时间】:2015-09-22 13:04:51
【问题描述】:
我正在尝试了解 AngularJS 指令和范围绑定。我宁愿给出我的代码然后提问:
这是我的指令定义:
'use strict';
(function(){
var app = angular.module('gemStore', []);
var gem = {name:"Pearl",price:22.5 };
app.controller("StoreController",function(){
var self = this;
self.product = gem;
self.validateOnSubmit="myForm";
});
app.directive("requireOnSubmit",function(){
var directiveDefinitionObject = {
restrict:'A',
scope : {
validationFlag : '='
},
link : function(scope,ele,attr){
console.log(scope.validationFlag);
},
controller : "StoreController",
controllerAs : "store",
bindToController : true
};
return directiveDefinitionObject;
});}());
这是我的 html :
<!DOCTYPE html>
<html ng-app="gemStore">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body ng-controller="StoreController as store">
<div>
<h3>{{store.product.name}} </h3> <h3>{{store.product.price}} </h3>
</div>
<form name="myForm">
<input type="text" name="test" require-on-submit />
</form>
</body>
<script type="text/javascript" src="resources/js/angular.min.js"></script>
<script type="text/javascript" src="app.js"></script>
现在我想将控制器上的validationOnSubmit 属性与validationFlag 绑定,它应该是双向绑定。 我已经尝试添加
<input type="text" name="test" require-on-submit validationFlag="validationOnSubmit"/>
在指令中:
scope : {
validationFlag : '=validationFlag'
}
但不起作用。如何做到这一点?
【问题讨论】:
标签: angularjs binding directive