Javascript 使用隔离作用域不起作用的指令时保存模型值
我已经创建了一个名为Javascript 使用隔离作用域不起作用的指令时保存模型值,javascript,angularjs,angularjs-directive,angularjs-scope,Javascript,Angularjs,Angularjs Directive,Angularjs Scope,我已经创建了一个名为的独立作用域指令,一切正常。我能够使用独立作用域“=”将不同的数据传递给我的指令。但我无法保存数据中的更改。 代码: 我已经添加了一个提交,正在尝试保存名为product的模型。但我正在变得不明确 请指导我如何解决这个问题 $scope.submit = function () { console.log($scope.product); }; 它记录一个未定义的范围属性,因此它永远不会在任何地方保存任何更改 mainApp.directive('student',
的独立作用域指令,一切正常。我能够使用独立作用域“=”将不同的数据传递给我的指令。但我无法保存数据中的更改。
代码:
我已经添加了一个提交,正在尝试保存名为product的模型。但我正在变得不明确
请指导我如何解决这个问题
$scope.submit = function () {
console.log($scope.product);
};
它记录一个未定义的范围属性,因此它永远不会在任何地方保存任何更改
mainApp.directive('student', function () {
return {
restrict: 'E',
templateUrl: 'temp.html',
scope: {
productedit: "=operation"
},
}
});
按照您当前拥有html结构的方式,您已将“提交表单”按钮放置在指令模板之外。为了解决这个问题,基本上只需传递
下拉列表的值。因此,我建议您传递product
对象的值,该对象最初是{}
&将由指令模板修改
HTML
<student operation="productadd" product="product"></student>
指令
mainApp.directive('student', function() {
return {
restrict: 'E',
templateUrl: 'temp.html',
scope: {
productedit: "=operation",
product: '=' //pass product object here
},
}
});
使用plunkr/fiddle添加一些相关代码。。
<student operation="productadd" product="product"></student>
$scope.product = {}; //initially blank, filled up by directive.
mainApp.directive('student', function() {
return {
restrict: 'E',
templateUrl: 'temp.html',
scope: {
productedit: "=operation",
product: '=' //pass product object here
},
}
});