我正在编写一个带有isolate scope双向绑定的指令AngularJS.但是,我似乎无法让双向绑定工作.无论我做什么,它上面的populate属性isolate scope总是undefined(虽然属性确实存在),而不是它应该绑定的值.
HTML:
<html>
<body ng-app="MyApp">
<div ng-controller="MyController">
{{data.dataProp}} <!-- demonstrates that data.dataProp is defined -->
<scope-fail data-source="data.dataProp"></scope-fail>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
JS:
angular.module("MyApp", [])
.controller('MyController', function ($scope) {
$scope.data = {
dataProp: 'Some Data'
}
})
.directive('scopeFail', function ($window) {
return {
restrict: 'E',
scope: {
populate: '=dataSource'
},
template: '<div>Value: {{populate}}</div>',
link: function (scope, element, attrs) {
console.log('Scope property:', scope.populate); //prints Scope property: undefined
}
};
})
Run Code Online (Sandbox Code Playgroud)
CodePen与上面的代码: …
我不知道这是否可能,所以如果这个问题有点无知,我会事先道歉.我正在使用一个必须使用模板的网站,不允许使用PHP等服务器端语言.网站上有一个我想要修改的外部JS文件,但我无法弄清楚如何使用JQuery从主脚本访问/修改它.
如果不清楚,这是一个例子:
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script src="fileToModify.js"></script>
<title>Untitled Document</title>
</head>
<body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>code to modify external file goes here</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,我希望能够放置代码(在JQuery/JS /其他语言中),其中"修改外部文件的代码在这里"并更改"fileToModify.js"的本地副本(例如,删除其中的函数).我知道,如果成功,这样的删除不能改变服务器上托管的真实文件; 我只是尝试在用户下载本地副本时更改本地副本以更改页面加载后的行为方式).
使用JQuery/JS /类似的东西可以实现这样的任务吗?
谢谢你的帮助